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

posted @   lms21  阅读(39)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
点击右上角即可分享
微信分享提示