我知道如何在bash中提问如“你想创建一个目录”并根据该输入做一些事情。但我想创建一个bash脚本,我可以这样做:
./somescriptname.sh install
./somescriptname.sh update
./somescriptname.sh assets get asset-name
./somescriptname.sh install
./somescriptname.sh update
./somescriptname.sh assets get all
我不确定如何阅读使用bash传递的命令行参数。
答案 0 :(得分:2)
使用$1
,$2
等来访问命令行参数:
#!/bin/sh
echo Arg 1: $1
echo Arg 2: $2
echo All args: $@
答案 1 :(得分:1)
你从$ 1,$ 2,$ 3获得args ...... arg $ 0是脚本名称
例如,。这需要3个参数。如果不存在3美元,则不会打印任何内容。
#!/bin/bash
echo "the $1 eats a $2 every time there is a $3"
echo "bye:-)"
如果这是foo.sh: 然后在命令行上做:./ foo.sh男孩菠菜餐
你也应该学习get ops,这样你就可以轻松测试'参数'。因为你有多个。你可能想给每个arg一个定义。 http://wiki.bash-hackers.org/howto/getopts_tutorial
答案 2 :(得分:1)
来自Bash参考手册: Positional Parameters
位置参数是由一个或多个数字表示的参数,而不是单个数字0.位置参数在调用时从shell的参数分配,并且可以使用set builtin命令重新分配。位置参数N可以引用为$ {N},或者当N由单个数字组成时为$ N.