Shell变量名使用的特殊字符 [转]

Shell变量名使用的特殊字符 [转]

$# 传送给命令Shell的参数个数
$- 在Shell启动或使用set命令时提供选项
$? 上一条命令执行后返回的值
$$ 当前shell的进程号
$! 上一个子进程的进程号
$@ 所有的参数,每个都用双括号括起
$* 所有参数,用双括号括起
$n 位置参数值,n表示位置
$0 当前shell名 

$1..$9 第N个参数

实例
我在公司使用tcl/tk脚本进行编程,但在unix或linux环境中并不能保证每次tcl的解释器都被安装在同一个目录下,如/bin,所以为了程序不至于每次移植时都要修改第一句的#!/bin/tclsh到相应的安装目录,由于sh安装的目录相对固定,故采用以下方法:

# ! / bin / sh
# become a dmh_wish script /
  exec dmh_wish -notk -f 
" $0 "   " $@ "
  
......


第一句 #!/bin/sh 使文件被sh解释器解释
第二句 为注释,不执行
第三句 $0指当前shell名,#@为所有参数,所以这句使文件再次被tcl/tk的解释器解释运行。这次运行时,第一句"#!/bin/sh" 被tcl/tk解释器作为注释,不予执行;第二句也为注释,但由于其最后有一个"/",故根据tcl的语法规则,第三句语句被当作和第二句为同一命令,故也为注释,不予执行;这样就不会再次执行该文件,而是继续执行随后的tcl代码。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值