shell編程基礎知識(一)

shell是一個命令解析器,是當前進程的父進程;

1、查看當前linux系統支持的shell類型:

cat  /etc/shells

2、查看當前使用的shell 

echo $SHELL

 

 直接輸入sh

則從當前的bash進入到sh解析器裏了。

此時ls 查看發現與bash 中使用ls查看的區別是顏色不同;

此時輸入命令後,無法雙擊tab補齊命令。

小結:不同的shell類似於不同的瀏覽器,解析後,呈現略有不同。

bash相較sh,類似於vim相較vi,功能更強大一些。寫shell腳本二者的區別可以忽略。

3、腳本,我們一般會用後綴.sh 加以區分。

 4、第一行是選擇使用哪種shell,即上述中的一種shell,,指定解析器。

#! /bin/sh-------------------->!後面有空格,sh和bash 不用刻意強調,二者區別不大。

4、#  ---------------->用來註釋

5、echo "helloworld" ---------->打印字符串

6、echo     ---------------->後面什麼不沒有,,打印一個空行,等價於 echo  ""

7、執行ls命令

/bin/ls------>列出的文件沒有標註顏色;

ls--------->列出的文件會有顏色區分;

問題是 輸入 :alias會看到:ls 是有別名的;

8、vim file ------------>file默認都是沒有可執行權限的

chmod  a+x file   -------->以下三類都添加可執行權限

chmod  u+x file  -------->僅用戶添加可執行權限

chmod  g+x file ------>用戶組添加可執行權限

chmod  o+x file--------->其他組添加可執行權限

加號 換成減號,就是去掉對應的權限;

9、腳本程序的執行方法:

方法0)加 #! /bin/sh   ---->chmod  a+x   --->./file.sh

方法1)不指定解析器,即不要這句   #! /bin/sh   也是可行的,會自動調用默認的解析器;(需要 chmod  a+x)

方法2)/bin/bash  file.sh  ------>此時都不需要file.sh 有x 可執行權限;

                        也可以使用 /bin/sh file.sh  --->效果同上;

方法3). file.sh ------------------->最簡單。。。。----------->不需要有可執行權限

方法4)source  file.sh --------------------->不需要有可執行權限

10、命令分爲:

一種是常見的普通命令:如 ls, pwd,即如果export  PATH=       將PATH置空,ls解析不到了。

另一種是內建命令:man bash-builtins   查看所有的內建命令---->內建命令不需要bash解析也能執行。

如 cd  alias  等。

11、小括號的應用;

cd ..;ls -l   目錄變化

(cd ..;ls -l)工作目錄沒有變化

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章