shell编程连载【4】- 特殊参数

来源:互联网 发布:linux vi 下查找命令 编辑:程序博客网 时间:2024/06/10 07:47

1 $$:显示PID编号

[tandesir@localhost shell]$ echo $8068


2 $?:退出状态

[tandesir@localhost shell]$ echo $?0[tandesir@localhost shell]$ ls test.txtls: 无法访问 test.txt: 没有那个文件或目录[tandesir@localhost shell]$ echo $?2[tandesir@localhost ~]$ true[tandesir@localhost ~]$ echo $?0[tandesir@localhost ~]$ false[tandesir@localhost ~]$ echo $?1

 

【链接】如何查看信号状态?

使用kill -l命令:

[tandesir@localhost ~]$ kill -l

 1) SIGHUP  2) SIGINT  3) SIGQUIT  4) SIGILL 5) SIGTRAP  6) SIGABRT  7) SIGBUS  8) SIGFPE 9) SIGKILL 10) SIGUSR1 11) SIGSEGV 12) SIGUSR213) SIGPIPE 14) SIGALRM 15) SIGTERM 16) SIGSTKFLT17) SIGCHLD 18) SIGCONT 19) SIGSTOP 20) SIGTSTP21) SIGTTIN 22) SIGTTOU 23) SIGURG 24) SIGXCPU25) SIGXFSZ 26) SIGVTALRM 27) SIGPROF 28) SIGWINCH29) SIGIO 30) SIGPWR 31) SIGSYS 34) SIGRTMIN35) SIGRTMIN+1 36) SIGRTMIN+2 37) SIGRTMIN+3 38) SIGRTMIN+439) SIGRTMIN+5 40) SIGRTMIN+6 41) SIGRTMIN+7 42) SIGRTMIN+843) SIGRTMIN+9 44) SIGRTMIN+10 45) SIGRTMIN+11 46) SIGRTMIN+1247) SIGRTMIN+13 48) SIGRTMIN+14 49) SIGRTMIN+15 50) SIGRTMAX-1451) SIGRTMAX-13 52) SIGRTMAX-12 53) SIGRTMAX-11 54) SIGRTMAX-1055) SIGRTMAX-9 56) SIGRTMAX-8 57) SIGRTMAX-7 58) SIGRTMAX-659) SIGRTMAX-5 60) SIGRTMAX-4 61) SIGRTMAX-3 62) SIGRTMAX-263) SIGRTMAX-1 64) SIGRTMAX 



3 $#:显示命令参数的个数

[tandesir@localhost shell]$ vi para_test.sh

#! /bin/bashecho "This script was called with $# arguments."

[tandesir@localhost shell]$ sh para_test.sh a1 a2
This script was called with 2 arguments.

4 $0:主调程序的名称

[tandesir@localhost shell]$ vi para_test.sh

#! /bin/bashecho "This command used to run this script is $(basename $0)."

[tandesir@localhost shell]$ sh para_test.sh
This command used to run this script is para_test.sh.

5 $1~$n:命令行参数

[tandesir@localhost shell]$ vi para_test.sh

#! /bin/bashi=0;echo "arg : $1 $2"echo "arg(all) : ${*}"

[tandesir@localhost shell]$ sh para_test.sh a b c
arg : a b
arg(all) : a b c

6 $*和$@:表示所有命令行参数

[tandesir@localhost shell]$ vi para_test.sh

#! /bin/bashset "$*"echo $# parameters with '"$*"'echo 1:$1echo 2:$2echo 3:$3

[tandesir@localhost shell]$ sh para_test.sh a b c

1 parameters with "$*"
1:a b c
2:
3:

[tandesir@localhost shell]$ vi para_test.sh

#! /bin/bashset "$@"echo $# parameters with '"$@"'echo 1:$1echo 2:$2echo 3:$3

[tandesir@localhost shell]$ sh para_test.sh a b c

3 parameters with "$@"
1:a
2:b
3:c

原创粉丝点击