shell小結(11)

echo "drop user testads cascade;
	  drop tablespace testads including contents and datafiles;
	  exit" | sqlplus 'system/system'@ttdemo

sqlplus system/system@lbs "@test.sql"
等於:
echo "@test.sql" | slqplus sytem/system@lbs
-------------------------------------------------------------------------------------------
### 此段代碼用於保證可使用相對路徑,不要刪除 ###
if [ `echo $0 | grep -c "/"` -gt 0 ]
then
 cd ${0%/*}
fi 

-------------------------------------------------------------------------------------------
#set env
export JAVA_HOME=~/jdk1.5.*;
export PATH=$JAVA_HOME/bin:$PATH;	  
-------------------------------------------------------------------------------------------
#!/bin/bash
#tr的用法 讀取文件內容,然後變爲數組,特殊語法
typeset lineList=`cat 'bak.pro' | tr -s ''`

typset lineArr=($lineList)

echo ${#lineArr[@]}
-------------------------------------------------------------------------------------------
NR:行號
NF:長度

awk的substr:從1開始計數,第一個參數可以不是變量
 typeset target_file=`echo $tempfile |awk '{print substr($0,1,'$filenamelength')}'`
-------------------------------------------------------------------------------------------
sed的替換最好方式:注意中間的變量用''號,雖然有多個,但並不會有問題
typeset tempfile=`echo $source_file|sed 's#'$sp'#'$tp'#'`

-------------------------------------------------------------------------------------------
很有用的命令:

#!/bin/bash

ret=` echo "ftp1204" | su - ftp1204 -c "echo $GROUP"`

echo $ret
------------------------------------------------------------------------------------------
userdel -rf 用戶

//在腳本中必須加上-o,否則程序掛死
unzip -o aa.zip -d /home/testuser >> /dev/null 2>&1

//解壓war包
jar xvf test.war 或者 unzip test.war

cp src dest:會替換
cp -f :則強制替換
-------------------------------------------------------------------------------------------
#!/bin/bash

#必須加上雙引號
typeset users="aa bb cc"
typeset userArr=($uses)

for user in ${userArr[@]}
do
	echo $user
done
-------------------------------------------------------------------------------------------
awk中定義變量和引用外部變量 
#!/bin/bash

typeset key="username"

typeset count=`echo "username=lbs" | awk -F "=" -v k="${key}" '{if (k == $1) print $2}' | wc -l`

if [ $count -eq 1 ];then
	echo 'ok'
else
	echo 'fail'
fi

#awk的if(注意是if)如果引用外部的變量,必須只能加上單引號
#!/bin/bash
name=xx
echo "age=23" | awk -F "" '{if ('$name' == xx) print $2}'

 

發佈了27 篇原創文章 · 獲贊 0 · 訪問量 1437
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章