- 條件判斷: 布爾值,非空
- 常用小腳本
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... <<<'