linux shell學習(中)

一、數組

 (1)

bash支持一維數組(不支持多維數組),並且沒有限定數組的大小。類似與C語言,數組元素的下標由0開始編號。獲取數組中的元素要利用下標,下標可以是整數或算術表達式,其值應大於或等於0。

在Shell中,用括號來表示數組,數組元素用“空格”符號分割開。定義數組的一般形式爲:
    array_name=(value1 ... valuen)

比如 arr=(1 2 3 4 5)

或者

arr=(

1

2

3

)//括號必須這樣   不然會出錯

或者

arr[0]=1

arr[2]=3

可以不使用連續的下標,而且下標的範圍沒有限制。

echo "arr[0] is ${arr[0]}" 輸出數組元素

或者使用@或*輸出數組全部元素

比如 echo "arr is ${arr[@]}"

獲取數組長度和獲取字符串長度是一樣的方法

echo "the len of arr is ${#arr[@或者*]}"


(2)在bash裏  echo "hello\n"   會輸出hello\n

  如果想輸出換行效果 則需要echo -e "hello\n"

  這裏 -e 表示對轉義字符進行替換

(3)echo `date` 會輸出當前時間

二、

  printf

  shell的printf和C語言的不一樣在於

   printf 不像 echo 那樣會自動換行,必須顯式添加換行符(\n)。

printf 命令的語法:

printf  format-string  [arguments...]
format-string 爲格式控制字符串,arguments 爲參數列表。

printf()在C語言入門教程中已經講到,功能和用法與 printf 命令類似

這裏僅說明與C語言printf()函數的不同:
  • printf 命令不用加括號
  • format-string 可以沒有引號,但最好加上,單引號雙引號均可。
  • 參數多於格式控制符(%)時,format-string 可以重用,可以將所有參數都轉換。
  • arguments 使用空格分隔,不用逗號。

 x=1

var="hello"

printf "%s %d\n" $var $x

輸出 hello 1

    

發佈了41 篇原創文章 · 獲贊 2 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章