-1

我想写一个脚本,它在执行时应该看起来像 -

./script.sh -o1 option1 -o2 -o3 option3 ...

输出应该是这样的 -

option1
option3

我怎样才能实现它?

4

3 回答 3

1

如果您不需要开关(“-o1”等),有一个简单的解决方案。命令行选项出现在名为“$1”、“$2”等的变量中。例如

me@computer:~> ./script.sh option1 option2 option3
option1
option2
option3

脚本.sh:

#! /bin/sh
echo $1
echo $2
echo $3
于 2012-12-06T10:28:34.017 回答
0

查看内置的 bash getopts。例如(来自那个链接的教程)

while getopts ":a" opt; do
  case $opt in
    a)
      echo "-a was triggered!" >&2
      ;;
    \?)
      echo "Invalid option: -$OPTARG" >&2
      ;;
  esac
done
于 2012-12-06T10:22:59.613 回答
0

这应该会有所帮助:Parsing Command Line Options in Shell Scripts

于 2012-12-06T10:24:47.303 回答