<返回更多

Linux 系统 Shell 中那些特殊变量

2023-11-14  微信公众号  IT人家
加入收藏

在Shell脚本中,$符号有多种含义,它通常用于表示变量、特殊变量或参数,今天介绍几个特殊的变量。

当运行 echo $- 时,它会输出一个包含不同字母的字符串:

# echo $-
himBH

每个字母的含义如下:

因此,himBH 表示这个Shell当前启用了 hash、交互模式、多用户模式、作业状态通知和历史功能。这些选项可以根据脚本或Shell的需要进行配置

注意:$* 和 $@ 在大多数情况下表现相似,但在处理引号时有一些关键的区别。

[root@localhost]# cat b.sh && bash b.sh 
# 使用 "$*" 和 "$@"
set -- "arg1" "arg2 with space" "arg3"

echo 'Using "$*"'
for arg in "$*"; do
    echo $arg
done

echo 'Using "$@"'
for arg in "$@"; do
    echo $arg
done

Using "$*"
arg1 arg2 with space arg3
Using "$@"
arg1
arg2 with space
arg3

在"$*"中,所有参数被当作单个字符串,参数之间用第一个字符(默认是空格)分隔。而在"$@"中,每个参数都被当作独立的字符串。

在实际使用中,如果希望参数原封不动的传递出去,可能更适合使用"$@",它以类似数组的方式表示传递给脚本的所有参数。

关键词:Shell      点击(10)
声明:本站部分内容来自互联网,如有版权侵犯或其他问题请与我们联系,我们将立即删除或处理。
▍相关推荐
更多Shell相关>>>