bash使用小计
变量拼接字符串
teststr="abcd"
echo "${teststr}efg"
这样就可以拼接字符串,输出为abcdefg
编译脚本configure参数传递
在编写批量编译工具包的脚本时,我们会设置一下环境变量,比如CPPFLAGS,但是在脚本中运行./configure,这个变量并不会传递到configure中,如果想传递,需要在configure语句前设置,加空格分开
CPPFLAGS=aaa
CPPFLAGS="$CPPFLAGS" ./configure
上面这样才会把外面的参数aaa传递到configure脚本中
字符判断
[ -n string ]
string长度是否大于零
[ -z string ]
string长度是否为零
list
list用()表示
a=()
表示a是一个list
a=(1 2 3)
赋值元素用空格分开,这表示有三个值是1 2 3,不用,逗号分开,逗号在这里表示正常的值
获取长度
${#a[@]}
表示list的长度,也就是元素个数
获取元素
${a[0]}
获取第一个元素,bash中的list也是从0开始
${a[-1]}
获取倒数第一个元素,bash中的list可以从后面获取
输出所有值,list转字符串
${a[@]}
或者${a[*]}
会输出所有值,并且中间以空格分开,变成一个字符串
字符串转list
str="a b c d"
a=($str)
把str放入到()括号中,就转成了list
遍历list
for i in ${a[*]}; do
echo $i
done
我们可以获取list所有值,就可以遍历
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· 葡萄城 AI 搜索升级:DeepSeek 加持,客户体验更智能
· 什么是nginx的强缓存和协商缓存
· 一文读懂知识蒸馏