腳本
腳本語言 (Scripting language), 例如JavaScript是一門動態(tài)類型, 面向?qū)ο蟮哪_本語言.一個腳本通常是解釋運(yùn)行而非編譯.
寫一個腳本
注意以下命令行的注釋都不要寫
- 在Desktop新建一個文件夾local, 然后cd到local創(chuàng)建一個文件demo.txt
mkdir local
cd local/ #一定要運(yùn)行這個命令
touch demo.txt
- 編輯demo.txt, 內(nèi)容如下:
pwd #確認(rèn)下當(dāng)前路徑, /Users/yjjtt/Desktop/local
vi demo.txt 或者直接open demo.txt 進(jìn)行編輯demo.txt
在里面輸入圖中的五行命令,然后保存
image
- (windows用戶可以跳過這一步) 給demo.txt 添加執(zhí)行權(quán)限
chmod +x demo.txt
,如果不執(zhí)行這一步,則無法運(yùn)行此腳本,會提示permission denied: demo.txt - 如果覺得demo.txt的txt后綴看著別扭,也可以去掉
mv demo.txt demo
這樣執(zhí)行sh ~/Desktop/local/demo
就可以了
mv demo.txt demo
sh ~/Desktop/local/demo
- 如果覺得執(zhí)行
sh ~/Desktop/local/demo
還是很麻煩, 可以將~/Desktop/local加到PATH里
- 臨時設(shè)置PATH
pwd #查看下loacl所在的絕對路徑
export PATH="local的絕對路徑:$PATH" # 這句話就是將local目錄加到PATH里
image
- 永久設(shè)置PATH, 上面的PATH在重啟Bash后就會失效
touch ~/.bashrc # 創(chuàng)建~/.bashrc
vi ~/.bashrc # 編輯~/.bashrc
在編輯器里寫入 export PATH="local的絕對路徑:$PATH"
source ~/.bashrc # 保存編輯,這句命令一定要寫
demo # 運(yùn)行demo
PATH
- PATH的作用就是每次在Bash里面輸入一個命令時, Bash都會去PATH列表里面去找對應(yīng)的文件,找到了就執(zhí)行, 腳本其實就是一個可執(zhí)行的文件(ls, cd, mkdir..)
- 可以輸入命令
echo $PATH
查看所有的路徑,Bash就會在這些路徑中依次查找 -
type demo
可以查看查找過程 -
which demo
可以看到查找結(jié)果
給腳本加個參數(shù)
上面的腳本demo只能創(chuàng)建一個demo的目錄, 現(xiàn)在來讓目錄名是可變的.
vi demo # 編輯腳本
mkdir $1 # 將demo換成$1, $1就表示你傳的第一個參數(shù)(目錄名), 第二個參數(shù)就是$2,以此類推
cd $1
mkdir css js
touch index.html css/style.css js/main.js
exit
# 同樣是五行命令
上面編輯完保存后, 直接demo xxx 就會創(chuàng)建一個名叫xxx的目錄
判斷目錄是否存在
編輯demo, 注意下面的Bash腳本, 一個空格也不能多,一個也不能少
if [ -d $1 ]; then # 如果目錄存在
echo 'error: dir exists'
exit 1 # 返回值1 代表錯誤代碼為1
else
mkdir $1
cd $1
mkdir css js
touch index.html css/style.css js/main.js
echo 'success'
exit 0 # 返回值0 代表成功
fi