sh/bash/dash/ksh/zsh等Shell脚本
-
yuzifu
- 帖子: 54
- 注册时间: 2006-07-27 2:28
#1
帖子
由 yuzifu » 2012-04-30 8:52
我现在知道有这么几种方式来更改变量的值:
1,简单赋值
如
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
- 来自: 金山
#2
帖子
由 cao627 » 2012-04-30 9:01
系统定义的变量吧
-
yuzifu
- 帖子: 54
- 注册时间: 2006-07-27 2:28
#3
帖子
由 yuzifu » 2012-04-30 9:13
cao627 写了:系统定义的变量吧
基本上可以肯定,不是系统变量,因为运行软件所需要的所有源代码都包含在这套软件里,包括kernel。
-
cao627
- 帖子: 992
- 注册时间: 2007-12-05 10:57
- 系统: ubuntu14.04
- 来自: 金山
#4
帖子
由 cao627 » 2012-04-30 9:25
你的程序是shell脚本还是其他语言源文件呀?
是不是这样造成的:
var2的值根据条件不同会赋不同的值
var1=$var2
-
yuzifu
- 帖子: 54
- 注册时间: 2006-07-27 2:28
#5
帖子
由 yuzifu » 2012-04-30 9:59
cao627 写了:你的程序是shell脚本还是其他语言源文件呀?
是不是这样造成的:
var2的值根据条件不同会赋不同的值
var1=$var2
程序由shell脚本和C语言组成。
问题是没有出现任何赋值语句。
-
枫叶饭团
- 帖子: 14683
- 注册时间: 2010-06-16 1:05
- 系统: Mac OS X
- 来自: Tencent
-
联系:
#6
帖子
由 枫叶饭团 » 2012-04-30 10:40
c啊,听说有个叫指针的东西
-
cao627
- 帖子: 992
- 注册时间: 2007-12-05 10:57
- 系统: ubuntu14.04
- 来自: 金山
#7
帖子
由 cao627 » 2012-04-30 10:51
还有其它什么方式可以更改变量的值吗?
echo ${var1:=$var2}