shell脚本

  • 变量名和等号之间不能有空格
  • 推荐给所有变量加上花括号,这是个好的编程习惯
  • 字符串可以用单引号,也可以用双引号,也可以不用引号。
  • 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的
  • 单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用。
  • 双引号里可以有变量
  • 双引号里可以出现转义字符
  • 拼接字符串
your_name="runoob"
# 使用双引号拼接
greeting="hello, "$your_name" !"
greeting_1="hello, ${your_name} !"
echo $greeting $greeting_1
# 使用单引号拼接
greeting_2='hello, '$your_name' !'
greeting_3='hello, ${your_name} !'
echo $greeting_2 $greeting_3
  • 获取字符串长度
string="abcd"
echo ${#string} #输出 4
  • 子串
string="runoob is a great site"
echo ${string:1:4} # 输出 unoo
  • 查找子串
string="runoob is a great site"
echo `expr index "$string" io` # 输出 4
  • 定义数组
# 在 Shell 中,用括号来表示数组,数组元素用"空格"符号分割开。定义数组的一般形式为:
数组名=(值1 值2 ... 值n)
  • 读取数组元素
${数组名[下标]}
  • 读取数组所有元素
echo ${array_name[@]}
  • 数组元素长度/数组长度
# 取得数组元素的个数
length=${#array_name[@]}
# 或者
length=${#array_name[*]}
# 取得数组单个元素的长度
lengthn=${#array_name[n]}
  • 脚本参数
    我们可以在执行 Shell 脚本时,向脚本传递参数,脚本内获取参数的格式为:nn120为执行的文件名

  • 表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2
  • 完整的表达式要被 ` ` 包含
  • echo使用-e开启转义,\n表示换行
  • 原样输出字符串,不进行转义或取变量(用单引号)
echo '$name\"'
$name\" #输出
  • if-else结构
if condition
then
command1
command2
...
commandN
fi # 必须写
if condition1
then
command1
elif condition2
then
command2
else
commandN
fi # 必须写
  • for结构
for var in item1 item2 ... itemN
do
command1
command2
...
commandN
done
posted @   ijpq  阅读(20)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示