linux 读书笔记–bash/shell变量


变量的显示与设置:

– echo

语法:echo $variable

注意事项:

等号两边不能直接接空格;

可用转义字符’/’将特殊符号($,/,!,空格,回车等)变成一般字符;

增加变量内容可输入:”$variable”或${variable}累加内容,例如 : home=”$home”address;

若该变量需要在其他子进程中执行,则需要以export来使其变成环境变量,例如 export PATH;

一般情况下,父进程的自定义变量是无法在子进程中使用的;

使用大写字母来设置的变量一般为系统内定需要的变量;

思考题:

变量设置中,单引号和双引号的区别在哪里?

Answer:单引号不保留变量的内容,仅能是一般字符,而双引号保有变量的内容。

例子:

root# name=lms
root# echo $name
lms
root# myname=’$name its me’
root# echo $myname
$name its me
root# myname=”$name its me”
root# echo $myname
lms its me

– env

查看环境变量

– set

查看所有变量

 

-read

读取来自 键盘输入的变量

root# read sum
123
root# echo $sum
123

-p 接提示语

-t 接等待秒数

 

– declare

语法:

declare  [-axir] variable

参数:

-a 定义后面变量为数组类型;

-x 与export用法一致,将变量变成环境变量;

-i   定义后面变量为数字类型;

-r 将变量设置为只读模式;

root@Dashuo:/home/manshuo# declare -r sum
root@Dashuo:/home/manshuo# sum=1
bash: sum: 只读变量

 

变量内容的删除:

语法:

echo ${path#/*kerberos/bin:}

删除path变量中从最前面开始最短匹配/*kerberos/bin:的内容

*号代表任意字符

echo ${path##/*kerberos/bin:}

删除path变量中从最前面开始最长匹配/*kerberos/bin:的内容

echo ${path%/*bin}

删除path变量中从最后面开始最短匹配/*bin的内容

echo ${path%/*bin}

删除path变量中从最后面开始最长匹配/*bin的内容

 

变量内容的替换:

语法:

${variable/旧字符串/新字符串} #替换第一个旧字符串

${variable//旧字符串/新字符串} #替换所有旧字符串

将456替换成678:

root@Dashuo:/home/manshuo# echo $my_path
/123/456/we/are
root@Dashuo:/home/manshuo# echo ${my_path/456/678}
/123/678/we/are

原创文章,作者:端木书台,如若转载,请注明出处:https://blog.ytso.com/tech/aiops/245631.html

(0)
上一篇 2022年4月18日 15:54
下一篇 2022年4月18日 15:58

相关推荐

发表回复

登录后才能评论