[英]How do i send a argument to a bash script
我有一个bash脚本,我想将结果打印出来或只运行脚本而不打印结果(一个检查操作系统类型(Linux,Ubuntu,Debian和其他操作系统)的脚本。脚本P(仅作为示例))我希望它在屏幕上显示信息。
在这里抄写... shootProfile
#echo "OS: $OS"
#echo "DIST: $DIST"
#echo "PSUEDONAME: $PSUEDONAME"
#echo "REV: $REV"
#echo "DistroBasedOn: $DistroBasedOn"
#echo "KERNEL: $KERNEL"
#echo "MACH: $MACH"
#echo "========"
...然后在这里
因此,如果我发送./script P,则#echo应该只是echo ..或类似的东西来将输出输出到屏幕。 我现在感觉像个菜鸟:/
您可以通过如下调用来发送:
$ ./myscript.sh "parameter"
然后从这样的脚本中选择它:
#!/bin/sh
echo "This is the first parameter: $1"
此外,您可以使用一些条件:
if test "$1" = "P"
then
echo "You said P"
fi
我相信您正在寻找类似的东西:
for arg in "$@" ; do
case "$arg" in
P|p) echo "PSEUDONAME: $PSEUDONAME" ;;
O|o) echo "OS: $OS" ;;
*) echo "I did not implement the recognition of : ${arg}"
echo "Please correct the invocation of the script, or the script itself"
echo "I STOP HERE."
exit 1
;;
esac
done
这将允许您在脚本名称后指定几个命令,并且将全部处理它们(或者,如果您忘记了其中一个的必要识别,则将输出一条消息,然后退出而不是继续处于“怪异状态”)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.