bash中的特殊参数

bash中有一些特殊的预设参数,假如我们执行一条指令:

sh test.sh 1 2 3

那么test中常见的参数为:

$0: 执行的文件名:test.sh
$1: 第一个参数: 1
$2: 第二个参数: 2
$3: 第三个参数: 3
$#: 参数个数: 3
$*: 所有参数合成一个字符串
1 2 3
$@: 所有参数单独显示
1
2
3
$$: 脚本当前进程ID号:64372
$!: 后台运行的最后一个进程的ID号:
$?: 上一条指令的退出状态,0表示成功,非0错误:0

本例的测试脚本内容:

echo "\$0: 执行的文件名:$0";
echo "\$1: 第一个参数: $1";
echo "\$2: 第二个参数: $2";
echo "\$3: 第三个参数: $3";
echo "\$#: 参数个数: $#";

echo "\$*: 所有参数合成一个字符串";
for var in "$*"
do
    echo "$var"
done

echo "\$@: 所有参数单独显示";
for var in "$@"
do
    echo "$var"
done

echo "\$$: 脚本当前进程ID号:$$"
echo "\$!: 后台运行的最后一个进程的ID号:$!"
echo "\$?: 上一条指令的退出状态,0表示成功,非0错误:$?"


《 “bash中的特殊参数” 》 有 4 条评论

  1. where can i buy propecia in the philippines Exclusion code 2 included later PMC free article PMC2674327 PubMed 18316752

  2. order cytotec Several young girls sobbed, Not only that, let s see does blood pressure pills cause dizziness what they did to my son, Guta

  3. As in adults, children and adolescents with established hypertension develop target organ damage including LVH best site to buy priligy

  4. Generally, if a polyp is causing heavy bleeding during menstrual periods or is suspected of being precancerous or cancerous, it should be removed priligy en france

回复 agodelo 取消回复

您的邮箱地址不会被公开。 必填项已用 * 标注

About Me

一位程序员,会弹吉他,喜欢读诗。
有一颗感恩的心,一位美丽的妻子,两个可爱的女儿
mail: geraldlee0825@gmail.com
github: https://github.com/lisuxiaoqi
medium: https://medium.com/@geraldlee0825