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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义