Shell脚本语法规则

函数别名

设置别名

alias name="command"

alias ll="ls -laS"

取消别名

unalias name



求取数学表达式

value=$[6/3]

value=$((6/3))

let "value += 1"


定义局部变量

local value


定义整数

declare -i value


命令替换

value=`command`

value=$(command)


系统变量

$n,第n个参数 

$#,参数个数 

$0,当前shell脚本名称 

$?,前一命令退出状态 

$*,以"参数1 参数2"返回 

$@, 以"参数1" "参数2"返回

$$, 本进程的id

$!,上一进程id

$-, 使用Set命令设定的Flag一览

$PS1


清除变量

unset ariable_name

清除函数

unset function_name


计算行数:wc -l

设置执行脚本的shell,位于第一行的#!:#!/bin/bash

echo输出不换行:echo -n

关闭自动打印输入字符:stty -echo

打开自动打印输入字符:stty echo

打开命令跟踪:set -x

关闭命令跟踪:set +x


判断

字符串

string1 = string2 判断字符串是否相等

string1 != string2 判断字符串是否不相等

-z string 判断字符串是否为空串,"",null,未定义均为正

string1 \> string2 判断字符串小于,<需要转义

string1 \< string2 判断字符串大于

判断

字符串

string1 = string2 判断字符串是否相等

string1 != string2 判断字符串是否不相等

-z string 判断字符串是否为空串,"",null,未定义均为正

string1 \> string2 判断字符串小于,<需要转义

string1 \< string2 判断字符串大于

整数

num1 -eq num2 判断两数是否相等

num1 -ne num2 判断两数是否不相等

num1 -gt num2 大于

num1 -ge num2 大于等于

num1 -lt num2 小于

num1 -le num2 小于等于

文件

-a file -e file 文件是否存在

-b file 是否为块文件

-c file 是否为字符文件

-d file 是否为目录

-s file 是否为非空文件

-f file 是否为常规文件

-r file 是否可读

-w file 是否可写

-x file 是否可执行

-L file 是否为链接文件


条件语句格式

[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. if expression  
  2. then  
  3.     statement  
  4. fi  
  5.   
  6. if expression  
  7. then  
  8.     statement  
  9. else  
  10.     statement  
  11. fi  
  12.   
  13. if expression  
  14. then  
  15.     statement  
  16. elif expression  
  17. then  
  18.     statement  
  19. else  
  20.     statement  
  21. fi  
  22.   
  23. case value in  
  24.     value1)  
  25.         statement;;  
  26.     value2)  
  27.         statement;;  
  28.     *)  
  29.         statement;;  
  30. esac  

for 列表形式

[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. for variable in {list}  
  2. do  
  3.     statement  
  4. done  
  5.   
  6. for var in 1 2 3 4  
  7. do  
  8.     echo $var  
  9. done  
  10.   
  11. for var in {1..4}  
  12. do  
  13.     echo $var  
  14. done  
  15.   
  16. for var in {start..end..step}  
  17. do  
  18.     statement  
  19. done  
  20.   
  21. for i in {1..100..2}  
  22. do  
  23.     echo $i  
  24. done  
  25.   
  26. for file in $(ls)  
  27. do  
  28.     echo $file  
  29. done  
  30.   
  31. for file in *  
  32. do  
  33.     echo $file  
  34. done  

类c风格的for循环

[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. for ((expression1;expression2;expression3))  
  2. do  
  3.     statement  
  4. done  
  5.   
  6. for ((i=0;i<5;i++)  
  7. do  
  8.     echo $i  
  9. done  

for循环处理数组

[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. for variable in ${array[*]}  
  2. do  
  3.     statement  
  4. done  
  5.   
  6. array={1 2 3 4 5}  
  7. for num in ${array[*]}  
  8. do  
  9.     echo $num  
  10. done  

until循环,条件满足后退出

[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. until expression  
  2. do  
  3.     statement  
  4. done  
  5.   
  6. num=1  
  7. until [[ num -gt 4 ]]  
  8. do  
  9.     echo $num  
  10.     ((num++)  
  11. done  

while循环

[plain]  view plain copy 在CODE上查看代码片 派生到我的代码片
  1. while expression  
  2. do  
  3.     statement  
  4. done  
  5.   
  6. num=1  
  7. while [[ num -lt 5 ]]  
  8. do  
  9.     echo $num  
  10.     let "num++"  
  11. done  

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值