進入當前指令碼所在目錄(其他神馬方法都是浮雲!)
SH_DIR=
x=`echo $0 | grep "^/"`
if test "${x}"; then
SH_DIR=$(dirname $0)
else
SH_DIR=$(dirname `pwd`/$0)
fi
cd $SH_DIR
指令碼暫停
bash -c 'read -n1 -p "Press any key to continue..." '
顯示指令碼的命令:(預設是off)
set -v 顯示命令
set +v 關閉顯示命令的選項
讀取設定檔:
假設有個text.txt內容如下:
test=2 #這是一個測試.
$ vi text.sh
#! /bin/shvalue=4value=$(cat test.txt | grep test= | head -1 | awk -F '=' '{print $2}' | awk -F '#' '{print $1}')echo ${value}
$(xx)是取xx命令的傳回值. ${xx}是取xx變數.
printf "xx\n\tyy\n" 比echo好用,可以自己控制換行
echo "xx" > log.txt 寫到文本
echo "xx2" >> log.txt 追加到文本尾
linux指令碼編程(shell)簡介:http://blog.csdn.net/compiler_hdz/article/details/575113 (寫的很完備了,不過是針對bash得)
Dash與Bash的文法區別:http://www.igigo.net/archives/169
linux shell邏輯運算子、邏輯運算式詳解:http://www.cnblogs.com/chengmo/archive/2010/10/01/1839942.html
linux awk 命令說明:http://blog.csdn.net/tianlesoftware/article/details/6278273