Shell腳本常用于自動化操作,很方便霞溪,現(xiàn)在記錄一下孵滞。
讀取參數的方法
argv=$# #讀取輸入參數的個數
Par_list="$@" #列出所有的輸入參數
TOP_DIR=`pwd` #當前目錄
echo "argv = $argv"
echo "Par_list= $Par_list"
echo "top dir = $TOP_DIR"
執(zhí)行腳本,會輸入如下,不錯
./wfmk ni hao a
argv = 3
Par_list= ni hao a
top dir is /work/
判斷語句
下面語句是判斷file_path是否有執(zhí)行權限鸯匹,如果有坊饶,則執(zhí)行!
if [ -x ${file_path} ]; then
bash ${file_path}
fi
-n 代表字符串非空殴蓬,下面標志info不為空幼东。
if [ -n "${info}" ];then
echo -e "before jack port is:"
cat_jack_port
fi
```
##系統(tǒng)常量
####uname
這個打印當前的系統(tǒng)是什么,例如linux
```
# uname
Linux
```
##替換語句
####Makefile patsubst
patsubst用于替換科雳,例如下面的語句用于查找當前目錄的apk文件
```
copy_from := $(patsubst ./%,%, \
$(shell cd $(LOCAL_PATH) ; \
find . -maxdepth 1 -name "*.apk" -and -not -name ".*") \
)
```
patsubst 就是把./去掉啦根蟹,例如copy_from在執(zhí)行patsubst前是
./weixin.apk
執(zhí)行patsubst后就是
weixin.apk
####Makefile foreach
包含循環(huán)列表,循環(huán)變量糟秘,和表達式简逮。
例如下面,循環(huán)列表names ,循環(huán)變量n,表達式$(n).o
```
names := a b c d
files := $(foreach n,$(names),$(n).o)
```
最后輸入就是a.o b.o c.o d.o