Shell脚本

概述
配置文件,例如 /etc/profile、/etc/profile、~/.bashrc等


变量与函数

#! /bin/bash

val_a=10                     #赋值数值
val_b='hello.'               #单引号表示纯字符
val_c="hello ${val_a}world." #双引号中会解析shell语句
val_d=$(ls)                  #执行shell命令

function func_a() {          #定义函数
    local val_e='on func()'  #标为局部变量,函数内使用
    val_f='on shell process' #全局变量,在定义它的进程中有效,不局限于文件
    echo ${val_e}
    return 255;              #返回值最大255
}

export val_g=‘inheritance’   #导出变量,当前shel进程及其子进程中有效,父进程关闭后失效

func_a                       #在定义之后调用函数
echo $?                      #获取函数返回值

特殊变量

数值测试参数
$0当前脚本的文件名
$n(n≥1)传递给脚本或函数的参数。n 是一个数字,表示第几个参
$#传递给脚本或函数的参数个数
$*传递给脚本或函数的所有参数,合并为一个参数
$@传递给脚本或函数的所有参数,保持参数独立
$?上个命令的退出状态,或函数的返回值
$$当前 Shell 进程 ID

test

数值测试参数
-eq等于则为真
-ne不等于则为真
-gt大于则为真
-ge大于等于则为真
-lt小于则为真
-le小于等于则为真
字符串测试参数
=等于则为真
!=不相等则为真
-z 字符串字符串的长度为零则为真
-n 字符串字符串的长度不为零则为真
文件测试参数
-e 文件名如果文件存在则为真
-r 文件名如果文件存在且可读则为真
-w 文件名如果文件存在且可写则为真
-x 文件名如果文件存在且可执行则为真
-s 文件名如果文件存在且至少有一个字符则为真
-d 文件名如果文件存在且为目录则为真
-f 文件名如果文件存在且为普通文件则为真
-c 文件名如果文件存在且为字符型特殊文件则为真
-b 文件名如果文件存在且为块特殊文件则为真

if

#! /bin/bash

if [ -e "b.txt" ];then
    echo "file test ok"
elif [ "AA" = "AB" ];then 
    echo "string test ok"
elif [ 22 -eq 22 ];then 
    echo "number test ok"
else
    echo "NULL"
fi

case

#! /bin/bash

val=AA
case $val in
    8)  echo 'val=8'
    ;;
    G)  echo 'val=G'
    ;;
    *)  echo "val=${val}"
    ;;
esac

更多

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值