Shell:怎样获取脚本传递的参数

Lasted 2020-01-20 12:35:27

我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:$n。n 代表一个数字:

  • $1 为执行脚本的第一个参数。
  • $2 为执行脚本的第二个参数。
  • ......

获取参数

新建 some.sh 脚本,在脚本中获取参数如下所示:

#!/bin/bash

echo "Args:"
echo '$0 = ' $0
echo '$1 = ' $1
echo '$2 = ' $2
./some.sh one word
Args:
$0 =  ./some.sh
$1 =  one
$2 =  word 

判断输入参数

根据第一个参数判断是否输入参数。

#!/bin/bash

if [ "$1" != "" ]; then
  echo "Yes"
else
  echo "Empty"
fi
./some.sh
Empty

$# 中包含了参数个数,可以根据此参数判断是否存在输入参数。

#!/bin/bash

if [ $# -gt 0 ]; then
  echo "Your command line contains $# arguments"
else
  echo "Your command line contains no arguments"
fi
./some.sh one two
Your command line contains 2 arguments