shell变量
变量查看
格式:
echo ${变量}例子:
[user1@qmmms ~]$ echo ${PATH}
/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/user1/.local/bin:/home/user1/bin变量设置与规则
直接看例子
[user1@qmmms ~]$ qmmms=666
[user1@qmmms ~]$ echo ${qmmms}
666要新建变量,直接用
=赋值变量名由英文字母加数字构成,数字不能开头
建议用小写来表示自定义变量,大写是系统的变量
[user1@qmmms ~]$ qmmms="qms's name"
[user1@qmmms ~]$ echo ${qmmms}
qms's name
[user1@qmmms ~]$ qmmms=qms\'s\ name
[user1@qmmms ~]$ echo ${qmmms}
qms's name要在变量里面用特殊字符,可以用双引号,或者转义字符
\
双引号内可以表示变量
单引号保留纯文本
使用
$(命令)可以先执行命令,得到输出文本并使用,用 ` 就行
变量修改
增添内容
格式:
例子:
删除部分内容
格式:
${变量#关键词}:从头搜索,删除符合的最短数据${变量##关键词}:从头搜索,删除符合的最长数据${变量%关键词}:从尾搜索,删除符合的最短数据${变量%%关键词}:从尾搜索,删除符合的最长数据
例子:
注意最后一行全空,因为全删了
替换内容
格式:
${变量/旧字符串/新字符串}:找到第一个旧字符串并替换${变量//旧字符串/新字符串}:找到第所有旧字符串并替换
例子:
取消变量
格式:
特殊变量
PATH:之前提过,执行命令的查找目录
PS1:命令提示字符格式
$:当前shell的 PID
?:上个执行命令的返回值,成功为 0
SHELL:当前shell是哪个程序
HOME:家目录
LANG:语系
变量的有效范围
对于自定义的变量或者手动修改过的环境变量,在下一次启动shell的时候会失效
因为在启动shell时,操作系统重新分配环境变量
如果想要每次启动shell都自动加载之前的设置,可以编辑家目录下的.bashrc文件,是用户登录时执行的脚本文件。该文件本身包含终端会话的一系列配置。 这包括设置或启用:着色,完成,shell历史记录,命令别名等。
父shell的自定义变量无法在子shell中生效(使用命令bash启动子shell),原因一样
不过可以使用命令export 变量使变量在子shell中生效
键盘输入变量
格式:
参数:
-p:后接提示字符-t:限制等待秒数
例子:
声明变量类型
格式:
参数:
-a:声明为数组-i:声明为整数-r:只读变量,不可修改或删除变量以上三个,对应
+参数可以取消对应类型-p:列出类型
例子:
最后更新于