Chinaunix
标题:
弱弱的问个基本问题, 请帮忙回答,谢谢
[打印本页]
作者:
南希
时间:
2009-04-16 19:45
标题:
弱弱的问个基本问题, 请帮忙回答,谢谢
#....
# set -x
bak ()
{
.........
if ($1 == "abc" ) then
........
else
........
if
这里写的是一段if语句, 主要是根据 $1的值, 来执行不同的代码,具体不记得了
}
# Main from here
bak abc $1
bak def $1
...............
在main部分的 bak abc $1, 这里的$1, 指的是什么? 在bak 部分的话的 $1 应该是指传送进来的第一个变量值?
作者:
haimming
时间:
2009-04-16 19:49
bak ()
{
}
中只出现过$1?还有没有其它参数?$2?
再或者有没有shift之类的句子?
[
本帖最后由 haimming 于 2009-4-16 19:53 编辑
]
作者:
南希
时间:
2009-04-16 19:54
谢谢楼上, 响应超快
在bak里面没有调用其他参数, 不过在里面调用另外的shell 脚本.
那2个脚本我没有看到.
不明白 在 main 部分的 那个 $1 指的是啥?
作者:
kvkingdom
时间:
2009-04-16 19:55
$1出现在函数中就是表示函数的第一个参数
在main中就是脚本的第一个参数.
作者:
haimming
时间:
2009-04-16 20:04
标题:
回复 #3 南希 的帖子
调用脚本时的第一个参数
./urShellScriptname 11a b22 33cc
如上,$1表示11a,$2表示b22,$3表示33cc...
bak abc $1表示,bak abc 11a
如果bak中没有用到11a,就不明白为什么要加$1了
[
本帖最后由 haimming 于 2009-4-16 20:06 编辑
]
作者:
南希
时间:
2009-04-16 20:07
哦,谢谢, 似乎有点明白了.
就是说运行脚本的时候所带的第一个参数传送给 function bak () , 作 function的第二个参数.
如果执行脚本的时候, 没有跟任何参数的话, 那么 bak () , 等于就只接收到第一个参数, 在main部分被调用的那个.
这样理解是否正确呢?
作者:
cssjtuer
时间:
2009-04-16 20:17
顶 楼上
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2