【发布时间】:2014-11-15 22:00:00
【问题描述】:
我怎样才能做到这一点?我想为我的命令使用不同的函数,我的问题是如何将参数传递给 add.sh 函数? find.sh 工作正常,但前两个命令说 -v / -a 选项没有参数。我做错了什么?
while getopts v:a:s opt
do
case "$opt" in
v) ./view.sh;;
a) ./add.sh;;
s) ./find.sh;;
【问题讨论】:
-
这里的问题到底是什么?你告诉
getopts-v和-a选项需要参数。您是否将参数传递给该脚本?如果你这样做了,你不应该收到来自getopts的错误。您似乎也在问如何将该参数(或其他参数?)传递给被调用的函数。这是两个非常不同的问题。第一个部分是通过阅读getopts的工作原理来回答的。第二个答案是在您组装完所有参数之前不运行脚本。 -
我正在尝试将参数传递给 -v 和 -a 脚本,我不确定这些脚本是否正确接收参数,这是 view.sh 的脚本(awk -F ";" '{printf "记录: %d\n\t%s\n\t%s\n\t%s, %s, %s\n\t%s\n======= ===================\n\n", NR, $1, $2, $3, $4, $5, $6}' $BOOK ; echo "Press Q to Quit and返回菜单。" ) |少
-
我确实有一个顶级脚本,我可以在其中运行所有脚本就好了,但我在 getops 上苦苦挣扎。我有 toplevel.sh 脚本来运行所有其他脚本,现在我正在尝试为 getops 制作另一个脚本,我将其设置为当没有提供参数时 getops 脚本会自动打开顶层脚本。我还在努力学习它。感谢先生的帮助
-
如何调用您的顶级脚本?您希望从顶级脚本
$BOOK传递该view.sh脚本的什么参数?调用带参数的脚本的方式与在 shell 中将参数传递给命令的方式相同,只需将它们放在命令行上即可。 -
我还在尝试,先生,谢谢你的回答,我想表扬你,但不知道怎么做..