Shell 常见语法

Posted devzyh

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Shell 常见语法相关的知识,希望对你有一定的参考价值。

执行Shell

  1. 输入完整脚本文件路径即可执行。
    提示:权限不够,则执行chmod u+x 文件名
  2. 执行bash shell文件名称

简单的脚本

#!/bin/bash
# 上面的是指定解释器
echo $PATH
echo 路径输出完毕!
echo `date +%Y%M%d`

接受输入参数

  • 执行shell文件时,在文件后使用空格隔开多个输入参数。
  • shell文件中使用输入参数
参数 说明
$n 用户输入的第n个参数,从1开始
$# 用户输入的擦书总数
$* 用户输入的所有参数值,使用空格隔开

条件测试语法

  • Shell 脚本中的条件测试语法可以判断表达式是否成立,

若条件成立则返回数字 0,否则便返回其他随机数值。

语法格式:

[ 条件表达式 ]
  • 条件表达式两侧需要各有一个空格。
  • 使用$?返回条件表达式结果。
  • 条件表达式可以是变量也可以是具体的值。
  • &&表示当前面的命令执行成功后才会执行它后面的命令。
  • ||表示当前面的命令执行失败后才会执行它后面的命令。
  • !示把条件测试中的判断结果取相反值。

测试运算符

运算符 说明
-d 测试文件是否为目录类型
-e 测试文件是否存在
-f 判断是否为一般文件
-r 测试当前用户是否有权限读取
-w 测试当前用户是否有权限写入
-x 测试当前用户是否有权限执行
-eq 两个数字是否等于
-ne 两个数字是否不等于
-gt 数字A是否大于数字B
-lt 数字A是否小于数字B
-le 数字A是否等于或小于数字B
-ge 数字A是否大于或等于数字B
= 比较字符串内容是否相同
!= 比较字符串内容是否不同
-z 判断字符串内容是否为空

实例:

[ 1 -eq 2 ] || echo ‘这个说法是对的‘

流程控制语句

if语句

语法:

if 条件测试语句 then
  命令...
fi

if-else语句

语法:

if 条件测试语句 then
  命令...
else
  命令...
fi

case语句

语法:

case 变量值 in
值1)
  命令..
  ;;
值2)
  命令..
  ;;

  ...

*)
  默认的命令..
  ;;
esac
  • *代表不在所列出范围内的值。
  • 匹配值可以有多个。

条件循环语句

for循环

语法:

for 变量名 in 取值列表
do
  命令...
done
  • 取值列表可以是命令查出来的值。
  • 循环体内可以使用$变量名的形式获取当前变量的值。

while循环

语法:

while 条件测试语句
do
  命令...
done

以上是关于Shell 常见语法的主要内容,如果未能解决你的问题,请参考以下文章

shell常见语法

代码片段:Shell脚本实现重复执行和多进程

将vscode打造成无敌的IDE打造shell IDE--三大神器

在下面的代码片段中的剩余 ='passthrough' 处的代码中出现语法错误

常见的代码片段

常见的shell有哪些