在Shell脚本编程中,$ 符号是一个非常重要的符号,它在文件参数传递中有着各种特殊的用法。今天我们将通过一个实际的Shell脚本范例来说明$符号的不同用法。
假设我们有一个名为testParam.sh的Shell脚本文件,内容如下:
#!/bin/bash
# Shell最后运行的后台Process的PID
echo "后台运行的最后一个进程的进程ID号: $!"
# Shell本身的PID(ProcessID)
echo "脚本运行的当前进程ID号:$$"
# 使用$#来获取传递给脚本的参数个数
echo "参数个数为:$#"
# 使用$@来获取所有传递给脚本的参数,即是一个列表
echo "所有参数@:"$@""
for i in "$@"
do
echo "$i"
done
# 所有参数列表。如$*用" "括起来的情况、以"$1 $2 … $n"的形式输出所有参数,即一个参数, 此选项参数可超过9个;若不加" ",那么$*与$@的输出结果相同
echo "所有参数列表*:"$*""
for i in "$*"
do
echo "$i"
done
# 脚本本身的文件名
echo "脚本本身的文件名:$0"
# 使用$1、$2、$3...来获取具体的参数值
echo "第一个参数为:$1"
echo "第二个参数为:$2"
echo "第二个参数为:$3"
下面我们来看一下如何运行这个脚本并传递参数。
假设我们在终端中执行以下命令:
./testParam.sh param1 param2 param3
那么脚本将输出以下内容:
后台运行的最后一个进程的进程ID号:
脚本运行的当前进程ID号:4429
参数个数为:3
所有参数@:param1 param2 param3
param1
param2
param3
所有参数列表*:param1 param2 param3
param1 param2 param3
脚本本身的文件名:./testParam.sh
第一个参数为:param1
第二个参数为:param2
第二个参数为:param3
在实际的Shell脚本编程中,$ 符号是一个非常强大和灵活的工具,能够帮助我们更好地处理参数传递和处理。希望这个范例能够帮助大家更好地理解$符号在文件参数传递中的用法。谢谢!