Shell | 特殊变量

$n

基本语法:

$n (功能描述:n 为数字,$0 代表该脚本名称,$1-$9 代表第一到第九个参数,十以上的参数,十以上的参数需要用大括号包含,如${10}

例如:

$ touch parameter.sh
$ vim parameter.sh
#!/bin/bash
echo '==========$n=========='
echo $0
echo $1
echo $2

$ chmod 777 parameter.sh
$ ./parameter.sh cls xz
==========$n==========
./parameter.sh
cls
xz

$#

基本语法:

$# (功能描述:获取所有输入参数个数,常用于循环,判断参数的个数是否正确以及加强脚本的健壮性)。

例如:

$ vim parameter.sh
#!/bin/bash
echo '==========$n=========='
echo $0
echo $1
echo $2
echo '==========$#=========='
echo $#
$ chmod 777 parameter.sh
$ ./parameter.sh cls xz
==========$n==========
./parameter.sh
cls
xz
==========$#==========
2

$*$@

基本语法:

$* (功能描述:这个变量代表命令行中所有的参数,$*把所有的参数看成一个整体

$@ (功能描述:这个变量也代表命令行中所有的参数,不过$@把每个参数区分对待

例如:

$ vim parameter.sh
#!/bin/bash
echo '==========$n=========='
echo $0
echo $1
echo $2
echo '==========$#=========='
echo $#
echo '==========$*=========='
echo $*
echo '==========$@=========='
echo $@
$ ./parameter.sh a b c d e f g
==========$n==========
./parameter.sh
a
b
==========$#==========
7
==========$*==========
a b c d e f g
==========$@==========
a b c d e f g

$?

基本语法:

$? (功能描述:最后一次执行的命令的返回状态。如果这个变量的值为 0,证明上一个命令正确执行;如果这个变量的值为非 0(具体是哪个数,由命令自己来决定),则证明上一个命令执行不正确了。)

例如:判断 helloworld.sh 脚本是否正确执行

$ ./helloworld.sh
hello world
$ echo $?
0

总结:

在我们nlp的执行的脚本中,会有很多这种特殊字符的使用,熟练掌握这几种特殊字符代表着什么是十分必要的。

posted @ 2023-07-13 10:03  张Zong在修行  阅读(11)  评论(0编辑  收藏  举报