參數(shù)
demo 腳本只能創(chuàng)建名字為 demo 的目錄择浊,太無(wú)聊了,我們讓目錄名是可變的吧逾条。
mkdir $1
cd $1
mkdir css js
touch index.html css/style.css js/main.js
echo "hi" > index.html
exit
$1 表示你傳的第一個(gè)參數(shù)琢岩。
示范
這里我按照代碼在~/local/下創(chuàng)建了一個(gè)demo 文件。然后打開(kāi)用文本工具寫(xiě)入了代碼担孔,效果如下圖所示吃警。
將 ~/local 添加到 PATH 里
在這里很容易漏掉給文件添加執(zhí)行權(quán)限的操作酌心,如果你創(chuàng)建了腳本一定要記得給文件添加權(quán)限!0踩!不然的話不會(huì)成功的鹦筹。
chmod +x ~/local/demo
//一定要給demo或者其他腳本添加執(zhí)行權(quán)限
將 ~/local 添加到 PATH 里是本次內(nèi)容的重點(diǎn)址貌,一定要搞明白
拓展 shell打開(kāi)文件可以指定具體工具打開(kāi),例如:
open -a 'Google chrome' ~/local/demo.sh
//用瀏覽器打開(kāi)demo.sh文件
臨時(shí)設(shè)置 PATH
- 運(yùn)行
export PATH="~/local:$PATH"
- 這里是有英文雙引號(hào)的余舶,一定要看見(jiàn),不能寫(xiě)漏匿值,少一個(gè)標(biāo)點(diǎn)符號(hào)都不會(huì)正確。
- 這里是有英文雙引號(hào)的钟些,一定要看見(jiàn)绊谭,不能寫(xiě)漏,少一個(gè)標(biāo)點(diǎn)符號(hào)都不會(huì)正確达传。
- 這里是有英文雙引號(hào)的篙耗,一定要看見(jiàn)宗弯,不能寫(xiě)漏搂妻,少一個(gè)標(biāo)點(diǎn)符號(hào)都不會(huì)正確。
- 這句話是把 local 目錄加到 PATH 里欲主,注意替換 local的絕對(duì)路徑,例如我在這里用到的絕對(duì)路徑是
/Users/dongrongfeng/local
然后用簡(jiǎn)寫(xiě)~/local
代替的详恼。
知識(shí)點(diǎn):
---------------------------------------------------------------------------------------------------------------
這時(shí)你只要運(yùn)行 `demo "即將要?jiǎng)?chuàng)建的目錄名"` 就相等于運(yùn)行 sh ~/local/demo 了
(你可能會(huì)看到 File exists 的報(bào)錯(cuò)涤妒,不用管它)
這里的`demo`是第0個(gè)參數(shù) (搞數(shù)據(jù)開(kāi)發(fā)的一般第一個(gè)默認(rèn)是參數(shù)0赚哗,
第二個(gè)才是參數(shù)1以此類(lèi)推!S齑ⅰ!)
所以這里的"即將要?jiǎng)?chuàng)建的目錄名"是參數(shù)1民褂,
也就是為什么要寫(xiě)成$1了,前面的demo 則是參數(shù)0
永久設(shè)置 PATH
上面的 PATH 在你重啟 Bash 之后就會(huì)失效面殖,如果你希望 PATH 一直生效哭廉,看下面
首先運(yùn)行 cd ~/local; pwd
得到 local的絕對(duì)路徑,這個(gè)絕對(duì)路徑是放要到下面的/.bashrc里面的遵绰,而且不能用~
代替絕對(duì)路徑。
- 創(chuàng)建 ~/.bashrc:
touch ~/.bashrc
- 編輯 ~/.bashrc:
vi ~/.bashrc
//有人也用start乌企,可要能打開(kāi)編輯 什么都可以 - 在編輯器里添加一行字:
Export PATH="local的絕對(duì)路徑:$PATH"
保存退出 -
source ~/.bashrc
// 重復(fù)三遍給自己長(zhǎng)點(diǎn)記性成玫,這個(gè)一定要運(yùn)行,相當(dāng)于保存刷新的意思虽画。退出終端重新進(jìn)入也可以荣病。 -
source ~/.bashrc
// 重復(fù)三遍給自己長(zhǎng)點(diǎn)記性,這個(gè)一定要運(yùn)行个盆,相當(dāng)于保存刷新的意思。退出終端重新進(jìn)入也可以柴梆。 -
source ~/.bashrc
// 重復(fù)三遍給自己長(zhǎng)點(diǎn)記性终惑,這個(gè)一定要運(yùn)行,相當(dāng)于保存刷新的意思雹有。退出終端重新進(jìn)入也可以。 - 之前你要運(yùn)行 sh ~/local/demo溜宽,現(xiàn)在你只需要運(yùn)行 demo
- 如果你想給deno改個(gè)名字 就可以使用 mv ~/local/demo ~/local/(你想要改的名字,英文單詞)
現(xiàn)在你只要運(yùn)行 (你想要改的名字,英文單詞) 就能執(zhí)行該腳本了质帅。
如果你退出后下次運(yùn)行依然找不到這個(gè)腳本留攒,需要運(yùn)行一下 source ~/.bashrc
判斷目錄是否已存在
if [ -d $1 ]; then
echo 'error: dir exists'
exit
else
mkdir $1
cd $1
mkdir css js
touch index.html css/style.css js/main.js
echo "hi" > index.html
echo 'success'
exit
fi
返回值
exit 0 表示沒(méi)有錯(cuò)誤
exit 1 表示錯(cuò)誤代碼為 1
demo && echo '結(jié)束'
只有在 demo 成功時(shí)炼邀,才會(huì)執(zhí)行 echo '結(jié)束'