Linux Shell腳本攻略學習總結:一
終端打印
終端打印的常用命令有兩個:echo和print
首先,我先介紹echo
1.echo
echo這個命令接受三種形式的參數,實例如下:
[python]
echo "Hello World"
echo 'Hello World'
echo Hello World
這三中形式的命令輸出的都是同樣的結果,但是,每種方法都有它相應的“副作用”
例如如下的結果:
從結果中我們可以看出,以雙引號為參數的命令並不能識別標點符號,此時,如果仍使用雙引號我們可以加上轉義字符,並使用 -e 參數
例如:
[python]
echo -e "Hello World \!"
2.print
這個命令需要我們聯想C語言中的printf函數,因為它使用的方法和作用是一樣的,我們看一個實例
[python]
#!/bin/bash
#Filename: 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
運行這個實例,我們得到如下的結果
玩轉變量
Shell中的變量有如下特點:
1.使用變量並不用聲明
2.任何變量的定義方法都是 var=value 注:等號兩邊不允許有空格
3.任何變量的值都是一個字符串
我們來看一個實例:
[python]
#!/bin/bash
#Filename : variables.sh
fruit=apple
count=5
echo "We have $count $fruit(s)"
輸出結果如下:
附:我們可以通過相應的方法獲取變量值的長度:
[python]
<span style="font-size:18px;"><strong>length=${#var}</strong></span>
例如:
字段分隔符
IFS(內部字段分隔符)是Shell腳本中的一個重要概念。在處理文本數據時,相當有用。內部字段分隔符是用於特定用途的定界符。IFS是存儲定界符的環境變量。它是當前shell環境使用的默認定界字符串。
實例如下:
[python]
#!/bin/bash
#passwd_line.sh
#Description: Illustration of IFS
line="root:x:0:0:root:/root:/bin/bash"
oldIFS=$IFS;
IFS=":"
count=0;
for item in $line;
do
[ $count -eq 0 ] && user=$item;
[ $count -eq 6 ] && shell=$item;
let count++
done;
IFS=$oldIFS
echo $user\'s shell is $shell;
運行結果如下: