1. 位置参数:
- $0:表示脚本名。
- $1, $2, $3, ...:表示脚本或函数的参数。
例如,考虑以下脚本 myscript.sh:
#!/bin/bash
echo "Script name: $0"
echo "First argument: $1"
echo "Second argument: $2"
如果你在命令行中执行:
bash myscript.sh arg1 arg2
输出将是:
Script name: myscript.sh
First argument: arg1
Second argument: arg2
2. 特殊变量 $#:
$# 表示传递给脚本的参数个数:
#!/bin/bash
echo "Number of arguments: $#"
3. 特殊变量 $@ 和 $*:
- $@ 表示所有参数的列表。
- $* 表示所有参数作为一个单词。
#!/bin/bash
echo "All arguments as list: $@"
echo "All arguments as a single word: $*"
4. 获取用户输入:
你还可以使用 read 命令从用户获取输入作为脚本的参数:
#!/bin/bash
echo "Enter your name:"
read name
echo "Hello, $name!"
执行脚本时,用户将被提示输入名字。
5. 示例:
以下是一个使用传递参数的简单脚本,计算两个数字的和:
#!/bin/bash
if [ $# -eq 2 ]; then
num1=$1
num2=$2
sum=$((num1 + num2))
echo "Sum of $num1 and $num2 is $sum."
else
echo "Usage: $0 num1 num2"
fi
通过执行:
bash script.sh 5 7
可以得到输出:
Sum of 5 and 7 is 12.
这是一些基本的关于Shell传递参数的概念和用法。通过使用位置参数,你可以使脚本更加灵活,可以根据需要接收不同的输入。
转载请注明出处:http://www.pingtaimeng.com/article/detail/3282/Linux