2017年7月14日 星期五

Bash Shell | 如何使用內建指令 declare Command

說明

  宣告變數,設定變數的值與屬性


語法


  declare [-aAfFilrtux] [-p] [name[=value] ...]


1. 不加參數,顯示 shell 所有的變數名與值














2. 只加 -p,顯示 shell 所有的變數名,包含屬性和值



  屬性表

  a         數值索引陣列 (indexed array variable)
  A        關聯式陣列 (Associative array variable)
  i          整數 (integer)
  r          唯讀 (readonly)      

3. 加 -p 與想要的屬性 (a/A/i/r),顯示 shell 所有的變數中,有此屬性的變數





4. 加 -p 與想要的變數名 (name),顯示變數的屬性與值







5. 只加 -f,顯示 shell 所有的函式 (function)與函式內容



6. 只加 -F,顯示 shell 所有的函式 (function),不包含函式內容







7. 加 -n,賦予 nameref 屬性給變數名 (name),使變數名 (name) 成為另一個變數的參考,將被參考的變數賦予為變數名 (name) 的值

範例:

#!/bin/bash

namerefed=100
declare -n nameref=namerefed

echo "namerefed = $namerefed"
echo "nameref = $nameref"

nameref=200

echo "namerefed = $namerefed"
echo "nameref = $nameref"

結果:

namerefed = 100
nameref = 100
namerefed = 200
nameref = 200



沒有留言:

張貼留言