欧美激情aaaa_伊人久久久大香线蕉综合直播_日韩在线卡一卡二_亚洲成人人体

declare

聲明變量,設置或顯示變量的值和屬性。

語法

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

主要用途

選項

-f 將操作或顯示限制為函數名及函數定義。
-F 只顯示函數名(調試時附加行號和源文件)。
-g 在shell函數中使用時創建全局變量;其他情況下忽略。
-p 顯示每個名稱的屬性和值。

*設置屬性的選項:
-a 創建數組(如果支持)。
-A 創建關聯數組(如果支持)。
-i 增加整型屬性。
+i 刪除整型屬性。
-l 增加小寫屬性,變量的值將轉換為小寫。
+l 刪除小寫屬性。
-n 增加引用屬性(如果該選項存在)。
+n 刪除引用屬性(如果該選項存在)。
-r 增加只讀屬性。
-t 增加追蹤屬性。
+t 刪除追蹤屬性。
-u 增加大寫屬性,變量的值將轉換為大寫。
+u 刪除大寫屬性。
-x 增加導出屬性。
+x 刪除導出屬性。

參數

name(可選):變量名或函數名。
value(可選):變量的值。

返回值

declare 返回true除非你提供了非法選項或賦值錯誤。具體導致異常的情況請查看討論章節的關于異常情況

例子

# 聲明變量,當然也歡迎您在這個網站(感謝本項目發起人 @jaywcjlove)查詢linux命令。
declare reference_website='https://wangchujiang.com/linux-command/'

# 顯示所有包含整型屬性的變量和值。
declare -i
# 定義變量b并賦值為3,具有整型屬性。
declare -i b=5
# 顯示屬性,返回 declare -i b="5"。
declare -p b
# 刪除整型屬性。
declare +i b
# 顯示屬性,返回 declare -- b="5"。
declare -p b
# 根據變量屬性強制轉換值的英文大小寫。
declare -u uc_var='abc'
declare -l lc_var='ABC'
# 顯示'ABC abc';
echo "${uc_var} ${lc_var}"
# 定義函數內的全局變量
function test(){
  declare -g a=3
  # 或者
  local -g b=3
  # 或者
  c=3
  # 讓我們查看它們的屬性。
  declare -p a b c
}
# 執行函數。
test
# 返回結果。
# declare -- a="3"
# declare -- b="3"
# declare -- c="3"

# 定義函數外的全局變量
declare a=3
b=3
declare –p a b
# 返回結果如下。
# declare -- a="3"
# declare -- b="3"

# 定義局部變量
function test2(){
  local -i a=3
  declare -i b=3
}
test2
# 沒有該變量(已經被銷毀了)
echo "${a} ${b}"
# 因此,我們日常腳本中最常見的類似于'a=3'實際上是聲明并賦值了一個全局變量。
# 在接下來的 **討論** 環節會延伸討論全局和局部變量問題。
# 注意,不能使用 `+a` 或 `+A` 取消數組,也不能使用 `+r` 取消只讀屬性。

# 定義只讀數組,設置屬性的同時定義賦值。
declare -ar season=('Spring' 'Summer' 'Autumn' 'Winter')
# 或者這樣。
season=('Spring' 'Summer' 'Autumn' 'Winter')
declare -ar season
# 顯示所有數組。
declare -a
# 定義關聯數組。

declare -A fruits=(['apple']='red' ['banana']='yellow')
# 顯示所有關聯數組。
declare -A
# 顯示所有變量的屬性和值并顯示函數的定義,輸出很長。
declare
# 顯示所有變量的屬性和值。
declare -p
# 顯示所有全局變量的屬性和值。
declare -g
# 顯示全部函數名和函數定義。
declare -f
# 只顯示全部函數名。
declare -F

# 定義兩個函數。
function func_a(){ echo $(date +"%F %T"); }
function func_b(){ cd /; ls -lh --sort=time; }
# 顯示一到多個函數名和函數定義。
declare -f func_a func_b
# 只顯示一到多個函數名,驗證某個名稱是否已經定義為函數時有用。
declare -F func_a func_b
# 最好不要讓函數名和變量名相同。

討論

  1. 全局和局部變量

    正如上面例子指出的情況,我們在日常編寫程序的時候需要了解這些概念,在這里 做個簡要地介紹,當然你也可以很方便的搜索到相關內容。

    • 全局變量:在整個腳本執行期間,只要沒有被刪除就一直存在
    • 局部變量:在函數內定義,函數執行后就被刪除。

    建議函數內使用local命令,函數外使用declare命令。

    不要在腳本中定義過多的全局變量,那樣可能會被其他函數調用造成意料之外的后果,并且也不方便檢查出來。

    更不用說缺乏必要的注釋了 —— ZhuangZhu-74

    相關資料:

  2. 關于declare typeset export local readonly命令

    為什么declare能做到的事,還需要定義其他這些命令呢?

    因為這樣語句含義會更加明確,例如:

    • 設置導出屬性的變量時,export vardeclare -x var
    • 在函數內聲明變量時,使用local
    • 聲明只讀變量,使用readonly

    typesetdeclare命令一樣。

  3. 關于異常情況

    有多種原因導致declare失敗,關于這些情況可以參考bash在線文檔declare部分(最新版),或執行 info bash 查看declare部分最后一大串an attempt is開頭的句子。

注意

  1. 該命令是bash內建命令,相關的幫助信息請查看help命令。
  2. 導出屬性的相關介紹請查看'export'命令。
  3. 只讀屬性的相關介紹請查看'readonly'命令。
  4. 引用屬性的相關介紹請查看'unset'命令的例子部分。
欧美激情aaaa_伊人久久久大香线蕉综合直播_日韩在线卡一卡二_亚洲成人人体
欧美精品日日鲁夜夜添| 国内精品久久久久影院一蜜桃| 精品区一区二区| 亚洲欧美一区二区在线观看| 久久草av在线| 日韩西西人体444www| 午夜视频一区在线观看| 一本大道久久a久久精二百| 国产嫩草影院久久久久| 国产一区二区日韩精品| 精品国产伦一区二区三区观看体验 | 成人黄页毛片网站| 26uuu久久天堂性欧美| 七七婷婷婷婷精品国产| 日韩亚洲欧美一区二区三区| 亚洲高清三级视频| 欧美日本在线视频| 日本不卡在线视频| 日韩精品一区二区三区四区视频| 肉肉av福利一精品导航| 日韩视频免费观看高清完整版在线观看| 亚洲成av人片一区二区三区| 在线播放视频一区| 国模冰冰炮一区二区| 国产亚洲精品福利| 国产91丝袜在线播放0| 中文字幕在线一区| 91国偷自产一区二区三区成为亚洲经典 | 亚洲激情自拍偷拍| 777久久久精品| 国产精品自拍三区| 成人欧美一区二区三区在线播放| 91行情网站电视在线观看高清版| 日本成人在线一区| 久久久久久久久久电影| 99天天综合性| 秋霞av亚洲一区二区三| 国产日韩欧美一区二区三区乱码| 91香蕉视频mp4| 亚洲一二三四区| 日韩午夜在线观看| 91亚洲国产成人精品一区二区三| 亚洲一级在线观看| 精品日韩在线观看| 色综合 综合色| 久久国产精品一区二区| 中文字幕制服丝袜一区二区三区 | 日韩精品午夜视频| 欧美激情综合五月色丁香小说| 99re这里只有精品视频首页| 日韩精品电影在线观看| 亚洲国产精品av| 7777精品伊人久久久大香线蕉经典版下载 | 欧美理论片在线| 国产69精品久久久久毛片| 一区二区成人在线| 久久亚洲春色中文字幕久久久| 一本大道久久a久久精品综合| 久久国产综合精品| 亚洲一区二区视频| 国产精品久久久久一区二区三区| 欧美日韩一区视频| 97久久久精品综合88久久| 麻豆成人在线观看| 亚洲国产欧美在线| 亚洲品质自拍视频| 国产日产亚洲精品系列| 日韩免费观看2025年上映的电影| 欧美亚洲自拍偷拍| av在线一区二区| 国产不卡在线视频| 国产精品亚洲综合一区在线观看| 日韩不卡一二三区| 亚洲bt欧美bt精品| 亚洲综合免费观看高清完整版在线 | 一区二区三区高清在线| 国产欧美一区二区三区网站| 精品国产一二三| 欧美一区三区四区| 欧美日韩精品二区第二页| 91美女在线视频| 成人97人人超碰人人99| 国产成人午夜高潮毛片| 国产成人在线观看| 国产乱对白刺激视频不卡| 久久国产精品99精品国产| 久久国产麻豆精品| 国产精品综合久久| 成人h版在线观看| 波多野结衣亚洲一区| 成人激情免费网站| 99在线精品免费| 91网址在线看| 91欧美一区二区| 91成人免费在线| 欧美日韩美少妇| 欧美日韩国产一级二级| 欧美一级二级三级乱码| 精品国产欧美一区二区| 久久蜜桃av一区精品变态类天堂 | 国产福利视频一区二区三区| 国产成人av网站| 成人黄色网址在线观看| 色狠狠桃花综合| 欧美一区二区网站| 久久精品一区二区三区不卡牛牛| 国产欧美日韩不卡免费| 亚洲视频中文字幕| 亚洲资源在线观看| 日韩中文字幕一区二区三区| 精品一区二区三区在线观看国产| 国产99久久精品| 欧美在线观看一区| 日韩三级中文字幕| 国产精品动漫网站| 日韩精品欧美成人高清一区二区| 国内精品免费在线观看| 91在线视频18| 欧美一区二区三区免费观看视频| 国产午夜亚洲精品理论片色戒| 综合色天天鬼久久鬼色| 日韩高清不卡一区二区三区| 国产一区二区三区免费播放| 一本大道久久a久久精品综合| 日韩三级av在线播放| 国产精品福利影院| 美脚の诱脚舐め脚责91| 99久久免费视频.com| 欧美一区二区视频观看视频| 中文字幕在线观看不卡| 精品一区二区三区影院在线午夜| jiyouzz国产精品久久| 日韩三级视频在线看| 亚洲永久精品国产| 国产成人免费视频网站| 欧美日韩国产另类一区| 中文字幕永久在线不卡| 国产一区二区视频在线| 欧美日韩国产首页| 中文字幕一区二区日韩精品绯色| 日本v片在线高清不卡在线观看| 99v久久综合狠狠综合久久| www国产亚洲精品久久麻豆| 亚洲成人午夜电影| 欧洲国产伦久久久久久久| 久久久久国产免费免费| 蜜桃av一区二区| 欧美天堂一区二区三区| 亚洲色大成网站www久久九九| 国产一区日韩二区欧美三区| 91精品婷婷国产综合久久竹菊| 一区二区三区产品免费精品久久75 | 高清久久久久久| 精品国产一区a| 麻豆一区二区三| 91精品国产91久久久久久一区二区 | 福利一区福利二区| 久久一区二区视频| 久久aⅴ国产欧美74aaa| 7777精品伊人久久久大香线蕉| 亚洲精选视频在线| 91在线免费看| 亚洲人成亚洲人成在线观看图片| 丁香五精品蜜臀久久久久99网站| 久久婷婷国产综合国色天香| 精品一区二区免费看| 精品国产乱码久久久久久蜜臀| 青青草国产成人99久久| 日韩一区二区在线观看视频播放| 琪琪久久久久日韩精品| 欧美一二三四在线| 国产自产视频一区二区三区| 欧美精品一区二区三区蜜臀| 国产九色精品成人porny| 久久久久久久久久久久久夜| 国产不卡视频一区二区三区| 国产女人aaa级久久久级| 91免费小视频| 欧美视频在线一区二区三区| 九色综合国产一区二区三区| 91.xcao| 日韩av电影天堂| 欧美videos中文字幕| 理论片日本一区| 国产欧美精品在线观看| 成人精品鲁一区一区二区| 国产精品久久久一本精品 | 欧美不卡激情三级在线观看| 国产麻豆午夜三级精品| 中文无字幕一区二区三区| 色视频一区二区| 午夜精品久久久久久| 久久嫩草精品久久久久| av不卡一区二区三区| 亚洲主播在线观看| 欧美成人精精品一区二区频| 豆国产96在线|亚洲| 视频一区二区三区中文字幕| 久久蜜桃av一区二区天堂 | 看片网站欧美日韩|