$# $? $@ $*

电灯泡 2010-10-13 10:13:13
1请问bash shell中这四个符号分别表示什么呢?

2本人已有一本《鸟哥》,讲解了shell的一些命令,语法,非常好,但美中不足的是缺少实例讲解的例子。也请大侠们推荐一本练习shell的好书,实例讲解的那种。
...全文
76 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
masmaster 2010-10-13
  • 打赏
  • 举报
回复
仰慕以哈
justkk 2010-10-13
  • 打赏
  • 举报
回复
应该是$@与$*相同吧
"$*"表示一个整体
"$@"表示分离的个体

像主席说的:
“如果我们这样执行脚本 ./test.sh a b c
那么
$* -> "a b c"
$@ -> "a" "b" "c"
电灯泡 2010-10-13
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 justkk 的回复:]

仰慕主席
一处笔误“5. $@ 与$#相同,但是使用时加引号,并在引号中返回每个参数”
[/Quote]
steptodream写的第五点有什么问题吗?
电灯泡 2010-10-13
  • 打赏
  • 举报
回复
steptodream 很给力
justkk 2010-10-13
  • 打赏
  • 举报
回复
仰慕主席
一处笔误“5. $@ 与$#相同,但是使用时加引号,并在引号中返回每个参数”
freetstar 2010-10-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 steptodream 的回复:]

shell脚本 推荐两本
1.《LINUX与UNIX Shell编程指南》
2.《Advanced Bash-Scripting Guide》简称:ABS 美名:BASH红宝书 中文名:高级Bash脚本编程指南
[/Quote]
主席的3个楼盖得还有水平啊,牛!
我补充一本书,嘿嘿,unix shell编程第三版
steptodream 2010-10-13
  • 打赏
  • 举报
回复
$*和$@ 的区别
如果我们这样执行脚本 ./test.sh a b c
那么
$* -> "a b c"
$@ -> "a" "b" "c"
steptodream 2010-10-13
  • 打赏
  • 举报
回复
shell脚本 推荐两本
1.《LINUX与UNIX Shell编程指南》
2.《Advanced Bash-Scripting Guide》简称:ABS 美名:BASH红宝书 中文名:高级Bash脚本编程指南
steptodream 2010-10-13
  • 打赏
  • 举报
回复
在shell脚本的实际编写中,有一些特殊的变量十分有用:
1. $# 传递到脚本的参数个数
2. $* 以一个单字符串显示所有向脚本传递的参数。与位置变量不同,此选项参数可超过9个
3. $$ 脚本运行的当前进程ID号
4. $! 后台运行的最后一个进程的进程ID号
5. $@ 与$#相同,但是使用时加引号,并在引号中返回每个参数
6. $- 显示shell使用的当前选项,与set命令功能相同
7. $? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误
大牛~Daniel 2010-10-13
  • 打赏
  • 举报
回复
都是才人啊

19,612

社区成员

发帖
与我相关
我的任务
社区描述
系统使用、管理、维护问题。可以是Ubuntu, Fedora, Unix等等
社区管理员
  • 系统维护与使用区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧