免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1405 | 回复: 6
打印 上一主题 下一主题

弱弱的问个基本问题, 请帮忙回答,谢谢 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 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 应该是指传送进来的第一个变量值?

论坛徽章:
0
2 [报告]
发表于 2009-04-16 19:49 |只看该作者
bak ()
{
}
中只出现过$1?还有没有其它参数?$2?

再或者有没有shift之类的句子?

[ 本帖最后由 haimming 于 2009-4-16 19:53 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2009-04-16 19:54 |只看该作者
谢谢楼上, 响应超快

在bak里面没有调用其他参数, 不过在里面调用另外的shell 脚本.

那2个脚本我没有看到.

不明白 在 main 部分的 那个 $1 指的是啥?

论坛徽章:
0
4 [报告]
发表于 2009-04-16 19:55 |只看该作者
$1出现在函数中就是表示函数的第一个参数
在main中就是脚本的第一个参数.

论坛徽章:
0
5 [报告]
发表于 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 编辑 ]

论坛徽章:
0
6 [报告]
发表于 2009-04-16 20:07 |只看该作者
哦,谢谢, 似乎有点明白了.

就是说运行脚本的时候所带的第一个参数传送给 function bak () , 作 function的第二个参数.  

如果执行脚本的时候, 没有跟任何参数的话, 那么 bak () , 等于就只接收到第一个参数,  在main部分被调用的那个.

这样理解是否正确呢?

论坛徽章:
0
7 [报告]
发表于 2009-04-16 20:17 |只看该作者
顶 楼上
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP