linux: shell腳本日常功夫

  1. 條件判斷: 布爾值,非空
  2. 常用小腳本

part1: shell中的條件判斷

條件並列判斷

#!/bin/bash
if  [ 1 -gt 2 ] && [ 1 -gt 0 ] 
#if [ 1 -gt 2 ] || [ 1 -gt 0 ] 
#if [ 1 -gt 2 -a 1 -gt 0 ] 
#if [ 1 -gt 2 -o 1 -gt 0 ] 

#if (( 1 > 2 )) && (( 1 > 0 ))
#if (( 1 > 2 )) || (( 1 > 0 ))
#if [[ 1 > 2 ]] && [[ 1 > 0 ]]
#if [[ 1 > 2 ]] || [[ 1 > 0 ]]

then echo "big"
fi

root權限判斷

if [ `id -u` -ne 0 ]
#if [ `whoami` != 'root'  ]
then echo 'not root'
fi	

part2: 日常shell腳本

tar.gz包, tgz包:解壓安裝
---->sh install.sh tar包文件名 解壓後名稱

#!/bin/bash
#判斷參數個數
if [ $# -lt 2  ]   
then
    echo "需要兩個參數: arg1=src名,arg2=dest名"
    exit 1
elif [ `whoami` != 'root' ]
then
    echo '需要root權限'
    exit 1
fi
pack_name=$1
soft_name=$2

#解壓,重命名解壓後的目錄
#tar -zxvf $pack_name -C /soft 
tar_default_name1=`expr $pack_name : '\(.*\).tar.gz'`
tar_default_name2=`expr $pack_name : '\(.*\).tgz'`
tar_default_name=""
if [ $tar_default_name1 ] 
then 
     tar_default_name=$tar_default_name1
elif [ $tar_default_name2 ]
then 
     tar_default_name=$tar_default_name2
else
    echo 'error, 未知的壓縮類型'
    exit 1
fi

echo "默認pack名: $tar_default_name"
( cd /soft; ln -sfT $tar_default_name $soft_name )

#配置環境變量
soft_name_upper=`echo $soft_name |tr 'a-z' 'A-Z' `
echo  export "$soft_name_upper"_HOME=/soft/"$soft_name" >>/etc/profile
echo  export PATH='$PATH:$'"$soft_name_upper"_HOME/bin >>/etc/profile
echo '  >>> finishd... <<<'
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章