shell基礎篇(一)從hello world開始,shell基礎篇
前記:這裡是我做的shell筆記;接下來會提供一系列。
Shell是一種指令碼語言,那麼,就必須有解譯器來執行這些指令碼。Unix/Linux上常見的Shell指令碼解譯器有bash、sh、csh、ksh等,習慣上把它們稱作一種Shell。我們常說有多少種Shell,其實說的是Shell指令碼解譯器。
至於這幾種指令碼解譯器的介紹與區別;說白我也不清楚;自己查資料去吧;其實知不知道並不是很重要。這並不影響你會不會shell。
1. 建立一個檔案例如lottu01.sh,副檔名為sh(sh代表shell),副檔名並不影響指令碼執行,見名知意就好。還是從"hello world"開始吧。
#!/bin/bashecho "hello world !"
註解:“#!” 是一個約定的標記,它告訴系統這個指令碼需要什麼解譯器來執行,即使用哪一種Shell。我就用bash吧
echo:是shell中的輸出命令;把其後面的字串輸出到螢幕上。--這也是大家都知道的。
2. 運行指令碼
$chmod +x lottu01.sh #給指令碼執行許可權$ ./lottu01.shhello world !
注意,一定要寫成./test.sh,而不是test.sh。
直接寫test.sh,linux系統會去PATH裡尋找有沒有叫test.sh的,而只有$HOME/bin, $HOME/sbin, /usr/bin,/usr/sbin等在PATH裡,你的目前的目錄通常不在PATH裡,所以寫成test.sh是會找不到命令的,要用. /test.sh告訴系統說,就在目前的目錄找。
當然也可以寫test.sh。做如下操作
cp lottu01.sh ../bin/ # ../bin是目前使用者home目錄的bin下面。這個大家別誤解了。
再去測試下 lottu01.sh是否OK。
$cp lottu01.sh ../bin/$ lottu01.sh hello world !
3. 說說read命令
剛剛說的echo是shell中的輸出;那麼輸入呢;就說說read吧。--這個在以後章節會詳細講解--read。
#!/bin/bash# Author : lottu# Copyright (c) li0924 # start scriptecho "please input your name ?"read nameecho "HI, ${name}"測試:$ chmod +x lottu02.sh $ ./lottu02.sh please input your name ?lottu --這裡你輸入的name。HI, lottu
【note】
1. 指令碼第一行-#!/bin/bash;為指令碼的解譯器;當然也可以不寫;當時你就必須這樣執行
/bin/bash script;
2. echo,read命令;這個到後面補充下。
問linux下編寫一個輸出hello world的C++檔案 怎使用shell指令碼語言執行這個 C++檔案
將源檔案儲存為hello.cpp開始進行編譯
$g++ -o hello hello.cpp
編譯成功完成後,在當前路徑下,產生一個名為hello的檔案,然後執行
$./hello
在螢幕上,你將會看到列印結果:Hello,Linux.
說明:在預設情況下,編譯成功完成後,會在當前路徑下,產生一個名為a.out的檔案,然後執行$./a.out便可列印結果,但通常可以通過選項-o來指定自己的可執行程式名稱;
2.編譯多個源檔案
3.使用外部函數庫
4.使用共用函數庫和靜態函數庫
5.gcc選項詳細描述
mac os shell指令碼hello world
1) 可以用shell
建立一個a.sh,內容:
#!/bin/bash
echo 'hello world'
儲存,運行如下命令:
chmod +x a.sh
./a.sh
2) 如果是部署到mac上,可以用aumator,裡面有很多進階功能,可以把指令碼封裝成application。如果是在Mac上,建議用ActionScript。