shell 功能脚本

Shell脚本变量的含义

$#:表示执行脚本传入参数的个数

$*:表示执行脚本传入参数的列表(不包括$0)

$$:表示进程的id;Shell本身的PID(ProcessID,即脚本运行的当前 进程ID号)

$!:Shell最后运行的后台Process的PID(后台运行的最后一个进程的 进程ID号)

$@:表示执行脚本传入参数的所有个数(不包括$0)

$0:表示执行的脚本名称

$1:表示第一个参数

$2:表示第二个参数

$?:表示脚本执行的状态,0表示正常,其他表示错误

shell中的case语句用法

case $变量名 in
 模式1)
 命令序列1
 ;;
 模式2)
 命令序列2
 ;; 
 *)
 默认执行的命令序列     
 ;; 
esac 

linux条件判断:eq、ne、gt、lt、ge、le

整数比较:

   -eq: 测试两个整数是否相等;比如 $A -eq $B

   -ne: 测试两个整数是否不等;不等,为真;相等,为假;

   -gt: 测试一个数是否大于另一个数;大于,为真;否则,为假;

   -lt: 测试一个数是否小于另一个数;小于,为真;否则,为假;

   -ge: 大于或等于

   -le:小于或等于  

使用实例

#!/usr/bin/env bash

TOP_DIR="$(builtin cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd -P)"

echo ${TOP_DIR}

function copy() {
  pushd ${TOP_DIR}/../
  echo "skyler copy"
  popd
}

function remove() {
  pushd ${TOP_DIR}/../../
  echo "skyler remove"
  popd
}

function run() {
  echo "run run_mode: $RUN_MODE"
  if [[ $RUN_MODE = "cp" ]]; then
          copy
  elif [[ $RUN_MODE = "rm" ]]; then
          remove
  fi
}

function usage() {
  echo "
  Usage:  $0 [mode]
  Example: $0 [cp|rm]
  "
}

function main() {
  if [ $# -lt 1 ]; then
      usage && return 1
  fi
  RUN_MODE=""
  echo "input{#1}: $1"
  if [ $# -ge 1 ]; then
    case "$1" in
       "cp") RUN_MODE="cp" ;;
       "rm") RUN_MODE="rm" ;;
          *) usage && return 0 ;;
    esac
  fi
  run
  [ $? -ne 0 ] && return 1
  return 0
}

main "$@"
exit $?

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值