如何获取Unix脚本参数?

Chipbk10

我是unix脚本的新手。我正在尝试创建一个充当unix命令的脚本,例如“ ls -l”,“ ls -la”


myscript -x ---->做事情1
myscript -xy ---->做1,做2
myscript -yz ---->做第二件事,做第三件事

因此,“-x”,“-xy”为$ 0?还是我们需要使用不同的变量来做到这一点?

谢谢

快乐仙人掌

在Bash中,参数以索引1开头,而$ 0保留给命令本身。这也适用于功能和命令。

这是您达到与要求类似的方式的方法:

while [ "$1" != "" ] ; do
  case "$1" in
    -x)
       do_thing_1
       ;;
    -y)
       do_thing_2
       ;;
    -z)
       do_thing_3
       ;;
    *)
       error $1
       exit -1
       ;;
  esac
  shift
done

您需要声明函数do_thing_xxx和error。

我说“类似”是因为此脚本可以理解“ myscript -x -y -z”,但将“ myscripts -xyz”检测为错误。

要实现像您这样的更复杂的行为,您需要使用GETOPT,如此处所述:http ://wiki.bash-hackers.org/howto/getopts_tutorial

希望能有所帮助。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何顺序打印脚本参数?

来自分类Dev

jq如何获取所有值并用于脚本参数

来自分类Dev

Korn 脚本参数

来自分类Dev

传递脚本参数

来自分类Dev

如何在DSC脚本资源中引用脚本参数

来自分类Dev

从bash中的函数中获取并设置脚本参数

来自分类Dev

如何在bash中使用getopts解析脚本参数?

来自分类Dev

如何在C#中发现PowerShell脚本参数

来自分类Dev

如何使用CSI.exe脚本参数

来自分类Dev

如何在我的js文件中使用脚本参数?

来自分类Dev

如何使用bash脚本参数化git checkout

来自分类Dev

如何将 shell 脚本参数传递给 oozie

来自分类Dev

遍历bash脚本参数

来自分类Dev

FileMaker脚本参数问题

来自分类Dev

遍历bash脚本参数

来自分类Dev

以数组形式传递的PowerShell脚本参数

来自分类Dev

PyCharm“运行配置”询问“脚本参数”

来自分类Dev

bash打印给定脚本参数

来自分类Dev

^节点脚本参数中的字符

来自分类Dev

函数的回显脚本参数

来自分类Dev

PyCharm“运行配置”要求“脚本参数”

来自分类Dev

使用`case`处理脚本参数

来自分类Dev

脚本参数,包含调用mediainfo的空格

来自分类Dev

Shell脚本参数$ {1,,} _ name

来自分类Dev

在getopts之后解析脚本参数

来自分类Dev

bash打印给定脚本参数

来自分类Dev

可选脚本参数的典型语法

来自分类Dev

多次读取 bash 脚本参数

来自分类Dev

如何在批处理文件中的脚本参数中删除引号?