美文网首页
四、Shell变量

四、Shell变量

作者: 一个反派人物 | 来源:发表于2021-01-09 10:17 被阅读0次

1 变量分类

本地变量:只有本地用户可以使用,保存在家目录下的.bash_profile、.bashrc文件中
全局变量:所有用户都可以使用,保存在/etc/profile、/etc/bashrc文件中

1.1 变量生效顺序

  1. /etc/profile 开机所有用户加载此文件
  2. ~/.bashrc
  3. ~/.bash_profile
  4. /etc/bashrc

2 定义变量

变量格式: 变量名=值
变量名和等号之间不能有空格。

变量名命名规则:
    命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
    中间不能有空格,可以使用下划线_。
    不能使用标点符号。
    不能使用bash里的关键字(可以使用help命令查看保留关键字)。

3 取消变量

unset 变量

4 定义全局变量

export 变量=值

5 定义永久变量

将变量写在配置文件中
本地变量:只有本地用户可以使用,保存在家目录下的.bash_profile、.bashrc文件中
全局变量:所有用户都可以使用,保存在/etc/profile、/etc/bashrc文件中

6 显示变量

echo $变量名
env 查看全部变量
set 查看全部变量

7 shell特殊位置变量

运行脚本时输入:/bin/sh xxx.sh arg1 arg2...
则在脚本中
$0 代表脚本名称xxx.sh,如果全路径执行,则脚本名称带全路径
$1 代表arg1
$2 代表arg2
${10} 代表arg10,第10个参数开始要加{ }代表一个整体
$# 代表参数的总个数
$* 获取脚本的所有参数,不加""和$@相同,加上""则把所有参数视为一个参数
$@ 获取脚本的所有参数,不加""和$*相同,加上""则把不同参数视为独立的参数
$? 获取上一条命令的返回结果,0成功,非0失败
$$ 获取脚本的PID
$! 获取上一个在后台运行脚本的PID,一般调试使用
$_ 获取命令行最后一个参数

7.1 basename 单独获取脚本名称

basename /路径/脚本

[root@web01 ~]$ basename /server/scripts/backup_client.sh 
backup_client.sh

7.2 控制脚本传参的个数

必须传入2个参数
[ $# -ne 2 ] && echo"请输入2个参数" && exit

相关文章

网友评论

      本文标题:四、Shell变量

      本文链接:https://www.haomeiwen.com/subject/wzxfaktx.html