初識指令碼 理解 PATH 及~.bashrc
本文主要介紹以下幾個內容
什麼是指令碼?
寫一個簡單的指令碼
PATH 的作用
。bashrc的作用
nodejs指令碼建立demo目錄
一.什麼是指令碼?
指令碼源自喜劇舞臺:
公館一室內
王媽:(小心翼翼地)小姐,您還是得注意身子,就吃點東西吧。
雞小姐:(把碗砸在地上)不吃,我就是不吃。
(王媽下)
指令碼主要由
人物對話和舞臺
提示組成。演員和道具組只需要按照指令碼說的做即可。
計算機程式設計就是計算機按照指令碼寫的執行的
,
指令碼就是文字
,由英文字母,數字,特殊符號組成一串具有
特殊意義的文字
,可以一行一行的輸入執行,可以寫成一個檔案。
指令碼可以用很多語言寫,javeScript, nodejs(本質還是js),VB,bash,C,php。。。, 每種語言有每種語言的寫法(語法),不管是那種語言都可以實現相同的功能,只是用法(語法)上不同,或者說那種語言更適合,最後都是計算機照著執行的,比如 js 雖然是執行在瀏覽器之上,而瀏覽器執行在作業系統上(計算機作業系統)。很多時候,高階程式語言與指令碼語言並沒有明顯的界限。
二. 寫一個簡單的指令碼
新建並進入目錄local: mkdir ~/local; cd ~/local
新建指令碼檔案demo: touch demo。txt
開啟demo。txt : start demo。txt ,並寫入內容:
mkdir mydemo
cd
mydemo
mkdir css js
touch index。html css/style。css js/main。js
exit
4。任意位置(不是 ~/local)執行: sh ~/local/demo。txt ,
5。你會看到當前目錄下 多出 mydemo 資料夾,mydemo 裡面有 /css /js index。html
6。ok, demo。txt 就是一個指令碼,包括幾行命令文字,以下為拓展
7。如果需要目錄名可變,在步驟3 將mydemo 改為 $1 執行 demo。txt asd , 則會新建名為asd 的目錄,$1類似於佔位符,1表示第1個引數
8。如果。txt 字尾麻煩, 執行 mv ~/local/demo。txt ~/local/demo ,執行 demo asd 即可
9。檔案字尾只是方便區分,命名一個 A。png 的檔案就一定是一個圖片嗎?
10。判斷目錄是否已經存在,將步驟3的修改如下
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
exit
fi
11。返回值
exit 0 表示沒有錯誤
exit 1 表示錯誤程式碼為 1
demo && echo ‘結束’
只有在demo成功的時候,才會執行 echo “結束”
三.PATH的作用
1。你每次在 Bash 裡面輸入一個命令時(比如 cd cp demo),Bash 都會去 PATH 目錄裡面尋找對應的檔案,如果找到了就執行。
2。使用 type 可以開啟一個命令的路徑,
所有的命令都是可執行檔案,就像執行 縮寫的 demo,然後執行裡面的指令碼
所有檔案分為可執行檔案和不可執行檔案,可執行檔案有很多種,不可執行檔案就是配置
type demo 檢視 demo 的路徑
PATH 裡面有很多目錄,由 “:” 分隔,當執行 demo 時先在第一個目錄找,沒有找到就去第二個,第三個。。再沒有就報錯:bash: demo: command not found
列印系統命令 如 type ls,不同的作業系統列印的不同,但沒關係
3。 使用 which可以看到尋找結果
4。 如何使用PATH:(如果你想只執行 demo。txt 就能達到 sh ~/lcoal。demo。txt 的作用,就需要將 ~/local 新增到path 裡面,分為永久設定PATH 和 臨時設定,具體如下)
先獲取 ~/local 的絕對路徑 : cd ~/local; pwd
臨時設定PATH :
1。export PATH=“local的絕對路徑:$PATH”
2。任意位置(不是 ~/local)執行: demo。txt
永久設定PATH:
1。建立 。bashrc( 理解見下節) : touch ~/。bashrc
2。進入並編輯:start ~/。bashrc
3。 寫入以下內容: export PATH=“local的絕對路徑:$PATH”
4。 執行 。bashrc : source ~/。bashrc
5。任意位置(不是 ~/local)執行: demo。txt
所以 當執行 demo。txt 時,由於已經在 /。bashrc 裡面,為PATH添加了一個目錄 ~/local,能找到demo。txt,直接執行就好了
四.~/.bashrc 的作用
。bashrc 這個檔案主要儲存個人的一些個性化設定,如命令別名、路徑等, 是bash的個人配置檔案,在使用者目錄下,是個隱藏檔案。
可以實現 在進入 Git Bash 前執行任何命令,可以進行命令別名進行縮寫,可以設定環境變數及PATH
新建 。bashrc檔案:touch ~/。bashrc
自動執行:
1。命令列編輯也可以直接在檔案內修改: echo “cd ~/Desktop” >> ~/。bashrc
2。重新開啟會發現預設進入桌面目錄
alias
命令列新增: touch“alias newTxt = ‘touch demo。txt’” >> ~/。bashrc
執行 。bashrc : source ~/。bashrc (每次修改。bashrc 都要執行)
執行 newTxt
在桌面目錄新增 demo。txt
環境變數
export SASS_BINARY_SITE=“
https://
npm。taobao。org/mirrors/
node-sass
”
以後安裝 node-sass 的時候就不會因為被牆而報錯了
設定PATH
export PATH=“目錄的絕對路徑:$PATH”,上面已經用過了
五.nodejs指令碼建立demo目錄
首先,進入node 的 REPL編譯器:node
1。列印當前目錄: process。cwd()
2。切換目錄:process。chdir(“/Users/frank/Desktop”)
下圖為 列印和切換的演示
3。重寫demo。txt
1。建立 node指令碼:touch ~/locacljsdemo。js,編輯內容如下
fs:file system 所有關於檔案的操作
writeFileSync第二個引數可以寫入 文字
2。 cd ~/desktop
3。 node ~/local/jsdemo。js mydemo 即可在桌面新建 mydemo 目錄
4。 在js檔案第I行新增 #!/usr/bin/env node (指定執行環境)可直接執行 ~/local/jsdemo。js zzz 加入path 可直接 jsdemo。js mv 可直接jsdemo windows測試失敗!
在此我們可以得出一個結果 :nodejs 可以理解為可以執行 js 的bash