更改变量的值的方式

sh/bash/dash/ksh/zsh等Shell脚本
回复
yuzifu
帖子: 54
注册时间: 2006-07-27 2:28

更改变量的值的方式

#1

帖子 yuzifu » 2012-04-30 8:52

我现在知道有这么几种方式来更改变量的值:
1,简单赋值

代码: 全选

var_age=12
2, 使用let赋值

代码: 全选

let var_name="ubuntu"
3,在for循环中

代码: 全选

for num in 1 2 3
do
  echo "$num"
done
4,使用read命令

代码: 全选

echo "Enter a num:"
read var_num
但是我现在在一套软件中却遇到了很奇怪的事情,比如说软件里有一个变量var1,我查找了整个软件的源码,都没有看到以上4种赋值方式当中的任何一种,但是当我在开启某个软件功能的时候,var1变量的值却会发生变化,难道还有其它什么方式可以更改变量的值吗?
cao627
帖子: 992
注册时间: 2007-12-05 10:57
系统: ubuntu14.04
来自: 金山

Re: 更改变量的值的方式

#2

帖子 cao627 » 2012-04-30 9:01

系统定义的变量吧
yuzifu
帖子: 54
注册时间: 2006-07-27 2:28

Re: 更改变量的值的方式

#3

帖子 yuzifu » 2012-04-30 9:13

cao627 写了:系统定义的变量吧
基本上可以肯定,不是系统变量,因为运行软件所需要的所有源代码都包含在这套软件里,包括kernel。
cao627
帖子: 992
注册时间: 2007-12-05 10:57
系统: ubuntu14.04
来自: 金山

Re: 更改变量的值的方式

#4

帖子 cao627 » 2012-04-30 9:25

你的程序是shell脚本还是其他语言源文件呀?

是不是这样造成的:

var2的值根据条件不同会赋不同的值

var1=$var2
yuzifu
帖子: 54
注册时间: 2006-07-27 2:28

Re: 更改变量的值的方式

#5

帖子 yuzifu » 2012-04-30 9:59

cao627 写了:你的程序是shell脚本还是其他语言源文件呀?

是不是这样造成的:

var2的值根据条件不同会赋不同的值

var1=$var2
程序由shell脚本和C语言组成。

问题是没有出现任何赋值语句。
头像
枫叶饭团
帖子: 14683
注册时间: 2010-06-16 1:05
系统: Mac OS X
来自: Tencent
联系:

Re: 更改变量的值的方式

#6

帖子 枫叶饭团 » 2012-04-30 10:40

c啊,听说有个叫指针的东西
cao627
帖子: 992
注册时间: 2007-12-05 10:57
系统: ubuntu14.04
来自: 金山

Re: 更改变量的值的方式

#7

帖子 cao627 » 2012-04-30 10:51

还有其它什么方式可以更改变量的值吗?
echo ${var1:=$var2}
回复