Linux

Shell 传递参数

2017-05-03  本文已影响23人  谢小帅

执行 Shell 脚本时,可以向脚本传递参数。
脚本内获取参数的格式为:$n

#!/bin/bash

echo "Shell 传递参数实例!";
echo "执行的文件名:$0";
echo "第一个参数为:$1";
echo "第二个参数为:$2";
echo "第三个参数为:$3";
echo "参数个数为:$#";
echo "传递的参数作为一个字符串显示:$*";
echo ""

# $* 与 $@ 区别只有在双引号中体现出来
# 假设在脚本运行时写了三个参数 1、2、3
# "*" 等价于 "1 2 3"(传递了一个参数)
# "@" 等价于 "1" "2" "3"(传递了三个参数)
echo "* 与 @ 区别"

echo "使用双引号的情况"
for i in "$*"; do
    echo $i
done
echo ""

for i in "$@"; do
    echo $i
done
echo ""

echo "不使用双引号的情况"
for i in $*; do
    echo $i
done
echo ""

for i in $@; do
    echo $i
done
echo ""

输出

ShuaideMacBook-Pro:Desktop shuai$ ./a.sh 1 2 3 4
Shell 传递参数实例!
执行的文件名:./a.sh
第一个参数为:1
第二个参数为:2
第三个参数为:3
参数个数为:4
传递的参数作为一个字符串显示:1 2 3 4

* 与 @ 区别
使用双引号的情况
1 2 3 4

1
2
3
4

不使用双引号的情况
1
2
3
4

1
2
3
4

ShuaideMacBook-Pro:Desktop shuai$ 
上一篇 下一篇

猜你喜欢

热点阅读