运维开发网

Linux Shell 如何获取参数的方法

运维开发网 https://www.qedev.com 2020-10-21 09:36 出处:网络 作者: mouseleo
$# 是传给脚本的参数个数 $0 是脚本本身的名字 $1 是传递给该shell脚本的第一个参数

$# 是传给脚本的参数个数

$0 是脚本本身的名字

$1 是传递给该shell脚本的第一个参数

$2 是传递给该shell脚本的第二个参数

[email protected] 是传给脚本的所有参数的列表

$* 是以一个单字符串显示所有向脚本传递的参数,与位置变量不同,参数可超过9个

$$ 是脚本运行的当前进程ID号

$? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误

区别:[email protected], $*

  • 相同点:都是引用所有参数
  • 不同点:$* 和 [email protected] 都表示传递给函数或脚本的所有参数,不被双引号(" ")包含时,都以"$1" "$2" … "$n" 的形式输出所有参数。但是当它们被双引号(" ")包含时,"$*" 会将所有的参数作为一个整体,以"$1 $2 … $n"的形式输出所有参数;"[email protected]" 会将各个参数分开,以"$1" "$2" … "$n" 的形式输出所有参数。

$*和[email protected]详细区别请看此处

 #!/bin/bash

echo "-----------------"
for key in "[email protected]"
do
 echo '[email protected]' $key
done
echo "-----------------------------"
for key2 in $*
do
 echo '$*' $key2
done

1、带引号执行及结果:

[[email protected] ~]# bash file.sh Linux "python c"
-----------------
[email protected] Linux
[email protected] python c
-----------------------------
$* Linux
$* python
$* c

2、不带引号执行及结果:

[[email protected] ~]# bash file.sh Linux python c
-----------------
[email protected] Linux
[email protected] python
[email protected] c
-----------------------------
$* Linux
$* python
$* c

到此这篇关于Linux Shell 如何获取参数的方法的文章就介绍到这了,更多相关Linux Shell 获取参数内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号