shell第一节,输出常见变量
运行方式shell_name.sh表示shell脚本的名字
sh shell_name.sh
bash shell_name.sh
./shell_name.sh
| 常见系统变量 | 变量解释 |
|---|---|
| $0 | 当前程序的名称 |
| $n (n=1……9) | 第n个参数比如$1 、$2 |
| $* | 当前程序所有的参数,不包括程序名称和程序内写好的参数,通过一个字符串返回 |
| $@ | 输出所有的参数 |
| $# | 当前程序的参数个数 |
| $? | 最近一次执行的命令或shell脚本的出口状态,一般0为成功,其他是失败比如127 |
| $USER | 当前用户名 |
| $HOSTNAME | 显示当前主机名 |
| $UID | 当前用户的id |
| $PWD | 当前目录 |
| $PATH | 命令搜索路径 |
| $IFS | shell的分隔符 |
| $HOME | 用户主目录路径名 |
| $TERM | 终端类型 |
| echo $LOGNAME | 登录名 |
实例demo.sh
#!/bin/bash
#author h3zh1:
A=h3zh1
echo "my name is $A"
echo "当前用户ID: $UID"
echo "当前目录: $PWD"
echo "当前程序名称: $0"
echo "第一个参数: $1, 第二个:$2"
echo "上一条命令执行状态,$? is $?"
echo "当前程序的参数个数,$# is $#"
echo "当前程序所有的参数,$* is $*"
传入9个参数:
./demo.sh param1 param2 param3 param4 param5 param6 param7 param8 param9

实例shell.sh
#!/bin/bash
#author h3zh1:
A=h3zh1
echo "my name is $A"
echo "当前程序名称: $0"
echo "当前程序的参数个数,$# is $#"
echo "当前程序所有的参数,$* is $*"
echo "其中第一个参数: $1, 第二个:$2"
echo "上命令执行状态,$? is $?"
echo "主机名:$HOSTNAME"
echo "当前用户ID: $UID"
echo "当前目录: $PWD"
echo "$HOME"
无参运行
sh shell.sh

补充一下,写几个参数
./shell.sh p1 p2 p3 p4 p5

注意
单引号:
即将单引号中内容原样输出
双引号:
把双引号内的内容输出出来;如果内容中有命令,变量等,会先把变量,命令解析出结果,然后在输出最终内容来。
双引号内命令或变量的写法为
命令或变量或$(命令或变量)。
补充运行结果


