Bash脚本不处理传递的输入参数[重复]
Posted
技术标签:
【中文标题】Bash脚本不处理传递的输入参数[重复]【英文标题】:Bash script not handling input arguments passed [duplicate] 【发布时间】:2017-08-25 14:32:28 【问题描述】:我在跑步:
python Parser.py "Bot Pick Nut"
通过 MobaXterm 在 linux 命令行中。这按预期工作,它返回 True。 我面临的问题是当通过 shell 脚本运行时它返回 false?任何人都可以建议为什么我的 shell 没有正确地将结果提供给我的 python 脚本吗?
脚本:
#!/bin/sh
python Parser.py argv[0]
命令:
./Shell.sh "Bot Pick Nut"
【问题讨论】:
【参考方案1】:bash
位置参数从 $0
开始,$1
是脚本的第一个参数,随后从 $2
..$n
编号,$0
是脚本本身的名称。
#!/bin/sh
python Parser.py "$1"
bash
中参数的简单列表,
$0 the first positional parameter, equivalent to argv[0] in C, see the first argument
$FUNCNAME the function name (attention: inside a function, $0 is still the $0 of the shell, not the function name)
$1 … $9 the argument list elements from 1 to 9
$10 … $N the argument list elements beyond 9 (note the parameter expansion syntax!)
$* all positional parameters except $0, see mass usage
$@ all positional parameters except $0, see mass usage
$# the number of arguments, not counting $0
【讨论】:
好吧,我觉得自己很笨。感谢您的帮助! 我不能投票,人们一直对我投反对票,所以我没有代表。在您接受答案之前,由于计时器的原因,我当时无法标记它。我真的刚刚从不得不步行半小时做 IRL 的事情中恢复过来。以上是关于Bash脚本不处理传递的输入参数[重复]的主要内容,如果未能解决你的问题,请参考以下文章