linux shell脚本

变量

Shell 变量主要分为三种:自定义变量、系统变量、预定义变量。

自定义变量:

命名规则:

  • 命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
  • 中间不能有空格,可以使用下划线(_)。
  • 不能使用标点符号。
  • 不能使用bash里的关键字(可用help命令查看保留关键字)。
  • 变量名和等号之间不能有空格

使用变量:

your\_name\="lala" 
echo $your\_name
echo ${your\_name}

{}可以不加

只读变量:使用readonly

#!/bin/bash myUrl\="http://www.google.com"  
readonly myUrl

删除变量
unset variable\_name

系统变量

系统变量是指默认就存在的,主要有:

  • HOME:用户主目录
  • PATH:系统环境变量 PATH
  • TERM:当前终端
  • UID:当前用户 ID
  • PWD:当前工作目录,绝对路径

预定义变量

预定义变量常用来获取命令行的输入,主要有:

  • $0:脚本文件名
  • $1-9:第 1-9 个命令行参数名
  • $#:命令行参数个数
  • $@:所有命令行参数
  • $*:所有命令行参数
  • $?:前一个命令的退出状态,可用于获取函数返回值
  • $$:执行的进程 ID

运算符

可以采用下面4中调用方式

#!/bin/bash
m=1 
m=$\[ m + 1 \] 
m=\`expr $m + 1\` 
let m=m+1 \# 注意 + 号左右不要加空格
m=$(( m + 1 )) 

语句

if语句

if [ 条件判断式 ] 
    then 程序 
        elif [ 条件判断式 ] 
        then 程序 
fi

case语句

case $ 变量名 in  
“值 1”) 执行程序1;; 
“值 2”) 执行程序2;; 
esac

for循环

for 变量 in 值 1 值 2 值 3… 
do 
    程序 
done
for ((初始值;循环控制条件;变量变化)) 
do 
    程序 
done

while循环

while [条件判断式] 
    do 
        程序 
done

函数

定义函数有两种方式:

1、function fun_name() { } 

2、fun_name() { }

调用函数有3种方式

# 直接用函数名调用 test 函数 
test 
# 使用「函数名 函数参数」来传递参数 
test 1 2 
# 使用「FUN=`函数名 函数参数`」 来间接调用 
FUN=`test 1 2` 
echo $FUN

你可能感兴趣的:(linux)