所以我开始制作bash脚本。我可以做基本的事情,但就是这样。
当我输入时,我想做点什么:
./myprogram -t
它会做“回真”
如果我输入:
./myprogram -f
它会做“回声错误”
提前致谢
答案 0 :(得分:2)
位置参数可通过变量$1
$2
等获得。
有很多方法可以实现这个目标。您可以使用if语句:
#!/bin/bash
if [ "$1" = -t ]
then
echo true
elif [ "$1" = -f ]
then
echo false
fi
案例陈述:
#!/bin/bash
case "$1" in
-t) echo true ;;
-f) echo false ;;
esac
或短路:
#!/bin/bash
[ "$1" = -t ] && echo true
[ "$1" = -f ] && echo false
对于更复杂的情况,请考虑使用getopt
或getopts
库。
答案 1 :(得分:2)
你所谓的"选项"通常被称为编程中的参数。您应该通过阅读http://tldp.org/LDP/abs/html/othertypesv.html处的所有内容,阅读有关如何在bash中处理参数的更多信息。要回答您的直接问题,脚本可能如下所示:
#!/bin/bash
if [[ $# -eq 0 ]]; then
echo 'No Arguments'
exit 0
fi
if [ $1 = "-f" ]; then
echo false
elif [ $1 = "-t" ]; then
echo true
fi