shell特殊变量$0,$#,$@,$*,$?,$$和命令行参数
来源:互联网 发布:贷款被大数据什么意思 编辑:程序博客网 时间:2024/05/21 21:50
变量 含义
$0 当前脚本的文件名
$n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。
$# 传递给脚本或函数的参数个数。
$* 传递给脚本或函数的所有参数。
$@ 传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $* 稍有不同,下面将会讲到。
$? 上个命令的退出状态,或函数的返回值。
$$ 当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID。
$0 当前脚本的文件名
$n 传递给脚本或函数的参数。n 是一个数字,表示第几个参数。例如,第一个参数是$1,第二个参数是$2。
$# 传递给脚本或函数的参数个数。
$* 传递给脚本或函数的所有参数。
$@ 传递给脚本或函数的所有参数。被双引号(" ")包含时,与 $* 稍有不同,下面将会讲到。
$? 上个命令的退出状态,或函数的返回值。
$$ 当前Shell进程ID。对于 Shell 脚本,就是这些脚本所在的进程ID。
#!/bin/bash #. a.sh #sh/bash file.sh (ubuntu中sh指向dash,可以用ls -l /bin/sh来查看),该file.sh可以无“执行权限”#source a.sh #source和.等价,在当前bash环境下读取并执行file.sh中的命令,该file.sh可以无“执行权限” #./file.sh 该file.sh需要“执行权限”(chmod +x file.sh)out(){echo "File name:$0"echo "First Parameter:$1"echo "Second Parameter:$2"echo "Quoted Values:$@"echo "Quoted Values:$*"echo "Total Number of Parameters:$#"echo "print each param from \$*"for var in $* do echo "$var" done echo "print each param from \$@"for var in $@ do echo "$var" done }echo "————————执行out函数,参数为文件参数$3,$1,$2,$0————————"out $3 $1 $2 $0 #空格对参数进行分割echo "————————sh文件中的语句————————————"echo "File name:$0"echo "First Parameter:$1"echo "Second Parameter:$2"echo "Quoted Values:$@"echo "\"\$@\"=""$@"echo "Quoted Values:$*"echo "\"\$*\"=""$*"echo "Total Number of Parameters:$#"echo "print each param from \$*"for var in $* do echo "$var" done echo "print each param from \"\$*\""for var in "$*" do echo "$var" done echo "print each param from \$@"for var in $@ do echo "$var" doneecho "print each param from \"\$@\"" for var in "$*" do echo "$var" done
输出结果
hyc@hyc-csu:~/shellCommands$ bash b.sh 3 6 9————————执行out函数,参数为文件参数9,3,6,b.sh————————File name:b.shFirst Parameter:9Second Parameter:3Quoted Values:9 3 6 b.shQuoted Values:9 3 6 b.shTotal Number of Parameters:4print each param from $*936b.shprint each param from $@936b.sh————————sh文件中的语句————————————File name:b.shFirst Parameter:3Second Parameter:6Quoted Values:3 6 9"$@"=3 6 9Quoted Values:3 6 9"$*"=3 6 9Total Number of Parameters:3print each param from $*369print each param from "$*"3 6 9print each param from $@369print each param from "$@"3 6 9
0 0
- shell特殊变量$0,$#,$@,$*,$?,$$和命令行参数
- [Shell]特殊变量$0$#$*$@$?和命令行参数
- Shell特殊变量:$0, $#, $*, $@, $?, $$和命令行参数
- [shell]Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
- Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
- 六、Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
- Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
- Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
- Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
- Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
- Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
- Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
- Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
- Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
- Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
- Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
- Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
- Shell特殊变量:Shell $0, $#, $*, $@, $?, $$和命令行参数
- 混合 WebDriver 和 RC 技术
- 【Unity技巧】Unity中的优化技术
- DD语句
- "libc.so.6: version `GLIBC_2.14' not found"
- 原码、反码和补码 再了解
- shell特殊变量$0,$#,$@,$*,$?,$$和命令行参数
- iOS中从零开始使用protobuf
- NSAttributedString的用法详解
- FMDB 使用方法
- Android开发周报:Android Studio 2.0稳定版发布、Weex思考
- Android5.0 沉浸式效果导致Edittext获取焦点后画面不动的问题
- Linux系统调用解析
- ZOJ 3876 May Day Holiday(水)
- 前端所需要