shell学习三参数传递

参数传入说明以下:shell

echo "Shell 传递参数实例"
echo "执行的文件名:$0"
echo "第一个参数为:$1"
echo "第二个参数为:$2"
echo "传递到脚本的参数个数:$#"
echo $* #打印全部输入参数与$@相同
echo $$ #脚本执行的进程号
echo $- #显示shell当前选项     bash

$*与$@的区别在于url

  • 相同点:都是引用全部参数。
  • 不一样点:只有在双引号中体现出来。假设在脚本运行时写了三个参数 一、二、3,,则 " * " 等价于 "1 2 3"(传递了一个参数),而 "@" 等价于 "1" "2" "3"(传递了三个参数)。
  • #!/bin/bash
    # author:菜鸟教程
    # url:www.runoob.com
    
    echo "-- \$* 演示 ---"
    for i in "$*"; do
        echo $i
    done
    
    echo "-- \$@ 演示 ---"
    for i in "$@"; do
        echo $i
    done
  • $ chmod +x test.sh 
    $ ./test.sh 1 2 3
    -- $* 演示 ---
    1 2 3
    -- $@ 演示 ---
    1
    2
    3
相关文章
相关标签/搜索