Ano*_*ous 3 command-line scripting bash shell-script arguments
我有一个脚本myscript.sh
#!/bin/sh
echo $1 $2
Run Code Online (Sandbox Code Playgroud)
它的用途类似于...
./myscript.sh foo bar
Run Code Online (Sandbox Code Playgroud)
这给了我一个输出...
foo bar
Run Code Online (Sandbox Code Playgroud)
但我怎样才能让这个脚本包含自定义命令选项呢?例如 ...
./myscript.sh -a foo and corespond to $1
Run Code Online (Sandbox Code Playgroud)
和
./myscript.sh -b bar and corespond to $2
Run Code Online (Sandbox Code Playgroud)
您应该使用man 1 bash:
小例子:
#!/bin/bash
while getopts "a:b:" opt # get options for -a and -b ( ':' - option has an argument )
do
case $opt in
a) echo "Option a: $opt, argument: $OPTARG";;
b) echo "Option b: $opt, argument: $OPTARG";;
esac
done
Run Code Online (Sandbox Code Playgroud)