如何将参数发送到bash脚本

时间:2014-02-03 15:11:23

标签: bash arguments echo

我有一个bash脚本,我想要打印结果或者只是运行脚本而不打印结果(检查os类型的脚本(linux,ubuntu,debian等)。取决于我发送的内容(./script 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 ...或类似的东西,以便将该输出发送到屏幕。 我现在觉得自己像个总菜鸟:/

2 个答案:

答案 0 :(得分:0)

你可以通过这样的方式发送它:

$ ./myscript.sh "parameter"

你从脚本那里选择它:

#!/bin/sh
echo "This is the first parameter: $1"

此外,您可以使用一些条件:

if test "$1" = "P"
then
    echo "You said P"
fi

答案 1 :(得分:0)

我相信你正在寻找类似的东西:

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

这将允许您在脚本名称后指定几个命令,并且它们将被全部处理(或者,如果您忘记了其中一个的必要识别,将输出一条消息然后退出而不是继续“怪异”状态“)