美文网首页
Liunx下Shell编程注意事项

Liunx下Shell编程注意事项

作者: 洛奇lodge | 来源:发表于2019-06-14 15:34 被阅读0次

shell语言编程学习教程https://www.runoob.com/linux/linux-shell.html

变量

  • 变量使用时候,需要加上$符号, 例如${变量名}
  • 单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的,一般使用双引号
  • 变量赋值时候,变量名和等号之间不能有空格,例如a="11",不能写成a = "11"
  • 数组,元素之间不用都逗号相隔,例如a=("we" "33"), 不能写成a=("we", "33")
  • shell中反引号` `相当于python的eval()函数功能
  • shell语言注释格式,单行注释是#, 多行注释是:<<! .... !
  • shell打印输出的关键词有echo printf
  • shell读取用户输入的字符的关键词有read 例如 read num(变量名)

传参

  • shell文件执行,和函数传递参数方式都是一样的
  • $1, $2,$3 分别代表是传递的参数。 例如: 文件执行传参 bash test.sh w e 对应参数 $1-->w, $2-->e 函数传参fun w e 对应参数$1-->w, $2-->e
  • $@$*,都是获取除了文件名之外的所有参数,区别在于$@是可以遍历的
  • $? 显示最后命令的退出状态。0表示没有错误,其他任何值表明有错误。
  • $0 获取是当前执行的文件名

运算符

  • 算术运算符格式:expr 4 + 5 表达式和运算符之间要有空格,shell使用关键词expr进行运算, 乘法运算需要加转义符。例如 4+5 是错误的,必须写成 4 + 5
  • 关系运算符格式:[ 3 -ge 4 ] 括号与数值之间要有空格
  • 逻辑运算符:||或 , &&

函数

  • 函数调用,不同于其他程序语言需要括号,shell语言使用函数名调用即可
  • 函数有返回值时候,要用$?去获取函数的返回值,存储到一个变量里
  • 函数传参数,在函数里使用$1, $2, $3 函数调用时候,根据对应的位置传。例如函数名fun 参数1 参数2 参数3

流程控制

以下的语法格式可以写成一行,使用;分号隔开

  • 条件语句
if condition1
then
    command1
elif condition2 
then 
    command2
else
    commandN
fi
  • 循环语句
# for循环
for var in item1
do
    command1
done

# while循环
while condition
do
    command1
done

导入

  • 类似其他高级语言,都有导入其他模块的功能,shell也有类似功能,将一个sh文件导入另一个sh文件运行
    test1.sh文件
#!/bin/bash
url="http://www.baidu.com"

test2.sh文件

#!/bin/bash
#使用 . 号来引用test1.sh 文件
. ./test1.sh
# 或者使用以下包含文件代码
# source ./test1.sh
echo "$url"

相关文章

网友评论

      本文标题:Liunx下Shell编程注意事项

      本文链接:https://www.haomeiwen.com/subject/aapufctx.html