Shell script中的8个常用的特殊变量
当编写Shell脚本时,了解和使用特殊变量是非常重要的。特殊变量是Shell提供的一些特定用途的变量,它们包含了有关脚本和其环境的重要信息。下面是Shell脚本中八个常用的特殊变量,以及它们的代码和输出示例。
$0
- 当前脚本的文件名。
#!/bin/bash
echo "当前脚本的文件名是:$0"
输出:
当前脚本的文件名是:script.sh
2.$1
到 $9
- 用于访问脚本的位置参数(命令行参数)。
#!/bin/bash
echo "第一个参数:$1"
echo "第二个参数:$2"
echo "第三个参数:$3"
命令行输入:
./script.sh arg1 arg2 arg3
输出:
第一个参数:arg1
第二个参数:arg2
第三个参数:arg3
3.$#
- 传递给脚本的参数个数。
#!/bin/bash
echo "传递给脚本的参数个数:$#"
命令行输入:
./script.sh arg1 arg2 arg3
输出:
传递给脚本的参数个数:3
4.$*
- 以一个单字符串显示所有位置参数。
#!/bin/bash
echo "所有位置参数:$*"
命令行输入:
./script.sh arg1 arg2 arg3
输出:
所有位置参数:arg1 arg2 arg3
5. $@
- 以一个字符串列表显示所有位置参数。
#!/bin/bash
echo "所有位置参数:$@"
命令行输入:
./script.sh arg1 arg2 arg3
输出:
所有位置参数:arg1 arg2 arg3
6. $?
- 上一个命令的退出状态或返回值。
#!/bin/bash
ls
echo "上一个命令的退出状态:$?"
输出:
file1.txt file2.txt
上一个命令的退出状态:0
7. $$
- 当前脚本的进程ID。
#!/bin/bash
echo "当前脚本的进程ID:$$"
输出:
当前脚本的进程ID:12345
8 $!
- 后台运行的最后一个进程的进程ID。
#!/bin/bash
sleep 10 &
echo "后台进程的进程ID:$!"
输出:
后台进程的进程ID:67890