摘要:记录一下bash语法中$*和$@的用法

$*$@在不加双引号的时候是完全一样的,都是循环获取命令行的参数。
$∗$@加了双引号后,前者将所有参数拼接后作为一个变量。后者将所有参数循环接收后,加上双引号。
$0代表当前运行脚本的文件名。
$prog需要引用/lib/lsb/init-functions才能使用。

#!/bin/bash

. /lib/lsb/init-functions

echo $prog
echo $0

for param in $*;do
    echo "\$* Parameter #$count = $param"
done

for param in $@;do
    echo "\$@ Parameter #$count = $param"
done

for param in "$*";do
    echo "\"\$*\" Parameter #$count = $param"
done

for param in "$@";do
    echo "\"\$@\" Parameter #$count = $param"
done