首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bash脚本上的选项(完全不熟悉)

bash脚本上的选项(完全不熟悉)
EN

Stack Overflow用户
提问于 2016-09-03 02:46:43
回答 2查看 26关注 0票数 0

所以我开始编写bash脚本。我可以做一些基本的事情,但仅此而已。

我想做一些东西,这样当我输入的时候:

代码语言:javascript
复制
./myprogram -t

它将执行"echo true“。

如果我输入:

代码语言:javascript
复制
./myprogram -f

它将执行"echo false“操作

提前感谢

EN

回答 2

Stack Overflow用户

发布于 2016-09-03 02:57:15

位置参数可以通过变量$1$2等获得。

有许多方法可以实现条件。您可以使用if语句:

代码语言:javascript
复制
#!/bin/bash
if [ "$1" = -t ] 
then
  echo true
elif [ "$1" = -f ] 
then
  echo false 
fi

case语句:

代码语言:javascript
复制
#!/bin/bash
case "$1" in 
  -t) echo true ;;
  -f) echo false ;;
esac

或者是短路:

代码语言:javascript
复制
#!/bin/bash
[ "$1" = -t ] && echo true
[ "$1" = -f ] && echo false

对于更复杂的情况,可以考虑使用getoptgetopts库。

票数 2
EN

Stack Overflow用户

发布于 2016-09-03 02:57:39

你所说的“选项”这个词在编程中通常被称为参数。您应该阅读更多关于如何通过读取http://tldp.org/LDP/abs/html/othertypesv.html中的所有内容来处理bash中的参数的信息。为了直接回答您的问题,脚本可能如下所示:

代码语言:javascript
复制
#!/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
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39298939

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档