我有一个bash脚本,我想打印结果或仅运行脚本而不打印结果(一个检查OS类型的脚本(Linux,Ubuntu,Debian和其他)。根据我发送的内容(./script P(只是一个示例)),我希望它能回声到屏幕上。我如何轻松地做?
脚本在这里...Shotprofile
#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应该只是回声..或类似的东西以将输出输出到屏幕。我现在感觉像是一个菜鸟:/
我相信您正在寻找:
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
这将允许您在脚本的名称之后指定几个命令,并且将全部对待(或者,如果您忘记了对其中一个的必要识别,将输出消息,然后退出,而不是继续以"怪异"状态")
您通过这样的调用发送它:
$ ./myscript.sh "parameter"
然后您从脚本中选择它:
#!/bin/sh
echo "This is the first parameter: $1"
此外,您可以使用一些条件:
if test "$1" = "P"
then
echo "You said P"
fi