linux shell常用语法

Posted

tags:

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

条件

= 等于 应用于:整型或字符串比较 如果在[] 中,只能是字符串
!= 不等于 应用于:整型或字符串比较 如果在[] 中,只能是字符串

-eq 等于 应用于:整型比较

-ne 不等于 应用于:整型比较
-lt 小于 应用于:整型比较
-gt 大于 应用于:整型比较
-le 小于或等于 应用于:整型比较
-ge 大于或等于 应用于:整型比较
-a 双方都成立(and) 逻辑表达式 –a 逻辑表达式
-o 单方成立(or) 逻辑表达式 –o 逻辑表达式
-z 空字符串
-n 非空字符串

-f 常用!侦测『档案』是否存在 eg: if [ -f filename ]
-d 常用!侦测『目录』是否存在
-b 侦测是否为一个『 block 档案』
-c 侦测是否为一个『 character 档案』
-S 侦测是否为一个『 socket 标签档案』
-L 侦测是否为一个『 symbolic link 的档案』
-e 侦测『某个东西』是否存在!
2. 关于程序的逻辑卷标!
-G 侦测是否由 GID 所执行的程序所拥有
-O 侦测是否由 UID 所执行的程序所拥有
-p 侦测是否为程序间传送信息的 name pipe 或是 FIFO (老实说,这个不太懂!)
3. 关于档案的属性侦测!
-r 侦测是否为可读的属性
-w 侦测是否为可以写入的属性
-x 侦测是否为可执行的属性
-s 侦测是否为『非空白档案』
-u 侦测是否具有『 SUID 』的属性
-g 侦测是否具有『 SGID 』的属性
-k 侦测是否具有『 sticky bit 』的属性
4. 两个档案之间的判断与比较 ;例如[ test file1 -nt file2 ]
-nt 第一个档案比第二个档案新
-ot 第一个档案比第二个档案旧
-ef 第一个档案与第二个档案为同一个档案( link 之类的档案)
5. 逻辑的『和(and)』『或(or)』
&& 逻辑的 AND 的意思
|| 逻辑的 OR 的意思

 

 

for i in `seq 5 6`
do
  echo "for"$i
done

count=0
until [ $count -gt 1 ]
do
  count=`expr $count + 1`
  echo "until"$count
done
while [ $count -gt 1 ]
do
  count=`expr $count - 1`
  echo "while"$count
done

if [ 1 = 1 ] && [ 2 -eq 2 ]; then
  echo "if"
elif [ 1 = 1 ]; then
  echo "elif"
else
  echo "else"
fi

 


echo "aaa123bbb" | awk -F[0-9] ‘{print $0":"$1"-"$4; }‘

 

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

SpFFmpeg音视频开发1:Linux开发环境下常用Shell脚本语法

SpFFmpeg音视频开发1:Linux开发环境下常用Shell脚本语法

Linux基本语法

Linux开发基础知识shell语法整理

Linux开发基础知识shell语法整理

BMC