1. 程式人生 > >06—shell常用知識點2

06—shell常用知識點2

1、如何連線兩個字串 ?

V1="Hello"

V2="World"

V3=${V1}${V2}

echo $V3

 

輸出

HelloWorld

 

2如何進行兩個整數相加 ?

V1=2

V2=2

let V3=$V1+$V2

echo $V3

 

輸出

4

 

3、命令 “export” 有什麼用 ?


使變數在子 shell 中可用。

 

4和 引號有什麼區別 

?

 

' - 當我們不希望把變數轉換為值的時候使用它。

" - 會計算所有變數的值並用值代替。

 

5、如何在指令碼檔案中重定向標準輸出和標準錯誤流到 log.txt 檔案 ?

 

在指令碼檔案中新增 "exec >log.txt 2>&1" 命令。

 

6、如何只用 echo 命令獲取字串變數的一部分 ?

 

echo ${variable:x:y}

x - 起始位置

y - 長度

 

7、如果給定字串 variable="User:123:321:/home/dir",如何只用 echo 命令獲取 home_dir ?

 

echo ${variable#*:*:*:}

 

echo ${variable##*:}

 

8、如何使用 awk 列出 UID 小於 100 的使用者 ?

 

awk -F: '$3<100' /etc/passwd   //

F引數指定分隔符 ,$3UID欄位的值

 

 

9、如何在 bash shell 中更改標準的域分隔符為 ":" ?

 

IFS=":"   //IFS預設分割符是空格

 

 

10、如何獲取變數長度 ?

 

${#variable}

 

11、如何列印變數的最後 個字元 ?

 

echo ${variable: -5}

 

12${variable:-10} 和 ${variable: -10} 有什麼區別?

 

${variable:-10} - 如果之前沒有給 variable 賦值則輸出 10;如果有賦值則輸出該變數

${variable: -10} - 輸出 variable 的最後 10 個字元

 

13、寫出輸出數字 到 100 中 的倍數(0 3 6 9 )的命令 ?

 

for i in {0..100..3}; do echo $i; done

 

14[ $a == $b ] 和 [ $a -eq $b ] 有什麼區別

 

[ $a == $b ] - 用於字串比較

[ $a -eq $b ] - 用於數字比較