ag旗舰厅官网_ag旗舰厅下载客户端

热门关键词: ag旗舰厅官网,ag旗舰厅下载客户端

关于计算机

当前位置:ag旗舰厅官网 > 关于计算机 > 古怪变量浅识,026_关于shell中的特殊变量

古怪变量浅识,026_关于shell中的特殊变量

来源:http://www.pedaLyourcycLe.com 作者:ag旗舰厅官网 时间:2019-10-05 05:46

地方变量

一、

$0  获取当前实施的shell脚本的文书名,倘诺施行脚本带路线那么就包蕴剧本路线
[root@linuxidc shell]# sh n.sh 
n.sh
 
[root@linuxidc ~]# sh /shell/n.sh 
/shell/n.sh
 
[root@linuxidc shell]# sh `pwd`/n.sh
/shell/n.sh

**$n:获取当前执行的shell脚本的第N个参数,n=1..9,当n为0时意味着脚本的文书名,假使n大于9,用大括号括起来like${10}.**

图片 1

*$:获取当前shell的保有参数,将有着的命令行参数视为单个字符串。
$@:这么些顺序的具有参数"$1" "$2" "$3" "...",那是将参数字传送递给任何程序的特等方法,由此TA会保留所有内嵌在各类参数里的别样空白。
$#:获取当前shell命令行中参数的总个数。**

$n  获取当前推行的shell脚本的第n个参数值,n=1..9,当n为0时意味着脚本的文书名,假如n大于0,大括号括起来${10}
剧本内容:
#!/bin/bash
echo $1
 
[root@linuxidc shell]# sh p.sh linuxidc    #1个参数
linuxidc                                                                                                                   
 
[root@linuxidc shell]# sh p.sh linuxidc cainiao    #2个参数输出的是第贰个参数
linuxidc

$_:代表上贰个发令的最后二个参数

$*  获取当前shell的富有参数,将享有的命令行参数视为单个字符串,也便是"$1$2$3".....注意与$#的区域

eg:

$#  获取当前执行的shell脚本前面接的参数的总个数

cat test.sh
#!/bin/bash
echo $_

[root@linuxidc shell]# cat p.sh 
echo $1
echo $#
[root@linuxidc shell]# sh p.sh {a..z}
a
26
 
公司应用:(调控客户参数输入的个数)当输入参数不对等2创造输出“muse two”,侧不树立会输出"buchengli"
[root@linuxidc shell]# cat 1p.sh 
#!/bin/bash
[ $# -ne 2 ] && {
echo "muse two"
exit 1          #值1是退出后$? 的值
}
echo "buchengli"
[root@linuxidc shell]# sh 1p.sh bai
muse two
[root@linuxidc shell]# sh 1p.sh bai shu
buchengli
[root@linuxidc shell]#

sh test.sh 1 2 3 4 5
/bin/sh

$@  那些顺序的装有参数"$1" "$2" "$3" "...",那是将参数字传送递给任何程序的超级方法,因为她会保留内嵌在各种参数里的另外空白。

$!:代表最后推行的后台命令的PID

$*和$@的分别例子
$*  将有着的命令行全部参数视为单个字符串,等同于"$1$2$3","$*"

eg:

$@  将命令行每一个参数视为单独的字符串,等同于"$1" "$2" "$3".这是将参数传递给任何程序的近年艺术,因为她会保留全数内嵌在各种参数里的其余空白。

➜  agent git:(master) ✗ nohup ./falcon-agent  -c  cfg.json &> var/app.log &
[1] 76901
➜  agent git:(master) ✗ ps -p $!
  PID TTY           TIME CMD
76901 ttys000    0:00.01 ./falcon-agent -c cfg.json
➜  agent git:(master) ✗ echo $!
76901
➜  agent git:(master) ✗ ps -p $!
  PID TTY           TIME CMD
76901 ttys000    0:00.02 ./falcon-agent -c cfg.json
➜  agent git:(master) ✗ echo $!
76901

在意:上述分歧仅在于加双引号的时候,即"$*"与"$@"

➜ agent git:(master) ✗ nohup sh ./test.sh &
[2] 79469
appending output to nohup.out
➜ agent git:(master) ✗ echo $!
79469

shift  移动地方变量

二、

2.经过状态变量
$$    获取当前shell的进度号
$!    实行上贰个指令的PID
$?    获取施行上贰个下令的重临值(0为成功,非零为退步)#其一变量很常用
$_      在此以前推行的授命或脚本的最终贰个参数

 

本文永远更新链接地址:http://www.linuxidc.com/Linux/2017-06/145001.htm

参考:

图片 2

 

本文由ag旗舰厅官网发布于关于计算机,转载请注明出处:古怪变量浅识,026_关于shell中的特殊变量

关键词:

上一篇:Linux探索之旅,中查找非自由软件

下一篇:没有了