1. 程式人生 > >終端打印

終端打印

with clam 默認 gdi wro cannot 我們 特殊字符 color

shebang是一個文本行,其中#!位於解釋器路徑之前。/bin/bashBash的解釋器命令路徑。 有兩種運行腳本的方式。一種是將腳本作為bash的命令行參數,另一種是授予腳本執行權

限,將其變為可執行文件。 將腳本作為命令行參數時的運行方式如下(#號後面的文本是註釋,不必輸入到命令行中):

$ bash script.sh #假設腳本位於當前目錄下 或者

$ bash /home/path/script.sh #使用script.sh的完整路徑 如果將腳本作為bash的命令行參數來運行,那麽就用不著腳本中的shebang了。

要是有需要的話,可以利用shebang來實現腳本的獨立運行。對此必須設置腳本的可執行權 限,這樣它就可以使用位於#!之後的解釋器路徑來運行了。就像這樣:

    $ chmod a+x script.sh

該命令賦予所有用戶script.sh文件的可執行權限。這個腳本能以下列方式執行: $ ./script.sh #./表示當前目錄

$ /home/path/script.sh #使用腳本的完整路徑 內核會讀取腳本的首行並註意到shebang#!/bin/bash。它識別出/bin/bash並在內部像這

樣執行該腳本:

    $ /bin/bash script.sh

當啟動shell時,它一開始會執行一組命令來定義諸如提示文本、顏色等各類設置。這組命令 來自位於用戶主目錄中的腳本文件~/.bashrc(對於登錄shell則是~/.bash_profile)。Bash還維護了一 個歷史記錄文件~/.bash_history,用於保存用戶運行過的命令。

終端是交互式工具

echo 234;

echo ‘123‘;

echo "123";

前兩種效果是一致的 直接打印原文

使用雙引號會識別裏面的特殊字符 需要使用轉義字符進行轉義

$ echo "cannot include exclamation - ! within double quotes"

bash: !: event not found error

每種方法的副作用如下所述。

  • ? 使用不帶引號的echo時,沒法在所要顯示的文本中使用分號(;),因為分號在Bash shell 中被用作命令定界符。

  • ? echo hello;hello為例,echo hello被視為一個命令,第二個hello則被視為另一 個命令。

  • ? 變量替換在單引號中無效,在下一則攻略中會詳細討論。

 $ printf "Hello world"

printf使用引用文本或由空格分隔的參數。我們可以在printf中使用格式化字符串,還可以指 定字符串的寬度、左右對齊方式等。在默認情況下,printf並不像echo命令一樣會自動添加換 行符,我們必須在需要的時候手動添加,比如在下面的腳本中:

#!/bin/bash #文件名: printf.sh

printf  "%-5s %-10s %-4s\n" No Name  Mark
printf  "%-5s %-10s %-4.2f\n" 1 Sarath 80.3456
printf  "%-5s %-10s %-4.2f\n" 2 James 90.9989
printf  "%-5s %-10s %-4.2f\n" 3 Jeff 77.564
我們會得到如下格式化的輸出:
No Name   Mark   
1 Sarath 80.35
2 James 91.00
3 Jeff 77.56

%-5s 是 格式替換符

思考 echo prinft 是不是可以 跟參數?


終端打印