###############################################################
$*
cat laomeng.sh
#!/bin/bash
echo "Laomeng $*"
for i in $*
do
echo "Laomeng is: $i"
done
结果:sh laomeng.sh 1 2 3 4
Laomeng 1 2 3 4
Laomeng is: 1
Laomeng is: 2
Laomeng is: 3
Laomeng is: 4
不用""的号$* 每个单词被当成独立的单词
###############################################################
"$*"
cat laomeng.sh
#!/bin/bash
echo "Laomeng $*"
for i in "$*"
do
echo "Laomeng is: $i"
done
结果:sh laomeng.sh 1 2 3 4
Laomeng 1 2 3 4
Laomeng is: 1 2 3 4
使用""的$*,整个参数列表被当成一个参数
###############################################################
$@
cat laomeng.sh
#!/bin/bash
echo "Laomeng $@"
for i in $@
do
echo "Laomeng is: $i"
done
结果:sh laomeng.sh 1 2 3 4
Laomeng 1 2 3 4
Laomeng is: 1
Laomeng is: 2
Laomeng is: 3
Laomeng is: 4
不使用""的$@,$@与$*一样
###############################################################
"$@"
cat laomeng.sh
#!/bin/bash
echo "Laomeng $@"
for i in "$@"
do
echo "Laomeng is: $i"
done
结果:sh laomeng.sh 1 "2 3" 4
Laomeng 1 2 3 4
Laomeng is: 1
Laomeng is: 2 3
Laomeng is: 4
"$@"保留调用者的假设。 "2 3"是一个参数,且保留空格
###############################################################
抓取所有的数据
$* and $@ 变量提供了对所有参数的快速访问,这两个参数都能够在单个变量中存储所有的
命令行参数。
$* 变量会将命令上提供的所有参数当做单个单词保存。每个单词是指命令上出现的每个单值
$@ 变量会将命令行上提供的所有参数当做同一个字符串中的多个独立单词。它允许你遍历
所有的值,将提供的每个参数分割来。通常通过for命令来完成。
linux"$* "$*" $@ "$@"用法解释
最新推荐文章于 2024-03-09 06:00:00 发布