unix shell脚本中$ @的含义

时间:2017-03-20 11:00:30

标签: unix

这是我的代码:

##Checking swapspace if ignore option chosen will force creation of swap space
echo ; echo "[INFO]: Validating Swap space "
swapspace=`swapon -s|tail -1|awk '{print $3/1024}'`
if [ ${swapspace} -le 500 ]; then
        echo $@ |grep ignore>/dev/null
         if [ `echo $?` -eq 0 ]; then
         echo "[WARNING]: Swap space is below minimum requirement get the same fixed :${swapspace}
            Proceeding with WorkAround. PLEASE GET IT FIXED AT THE EARLIEST"

                dd if=/dev/zero of=/swapfile bs=2G  count=4
                chmod 0600 /swapfile; mkswap /swapfile; swapon /swapfile
                export SWAPFLAG=1

        else
         echo "[ERROR]: Swap space is below minimum requirement get the same fixed :${swapspace}"
          export SWAPFLAG=2
        fi


fi

有人可以解释一下echo $ @做什么吗?

PS:'忽略是一个隐藏的参数'

2 个答案:

答案 0 :(得分:0)

@Surbhi: $@表示传递给脚本的所有参数。例如 - > ./test.ksh test1 test2然后$@将等于test1 test2

答案 1 :(得分:0)

如果您运行带有参数的shell脚本,例如:

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

您可以在脚本中访问这些参数。特别是./myscript goodbye cruel world 会在输入时为您提供所有内容 - 例如如果$@

myscript.sh

上面的命令只是将#! /bin/sh echo $@ 打印到终端