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

declare

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

語法

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

主要用途

選項

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

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

參數(shù)

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

返回值

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

例子

# 聲明變量,當然也歡迎您在這個網(wǎng)站(感謝本項目發(fā)起人 @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
# 根據(jù)變量屬性強制轉換值的英文大小寫。
declare -u uc_var='abc'
declare -l lc_var='ABC'
# 顯示'ABC abc';
echo "${uc_var} ${lc_var}"
# 定義函數(shù)內的全局變量
function test(){
  declare -g a=3
  # 或者
  local -g b=3
  # 或者
  c=3
  # 讓我們查看它們的屬性。
  declare -p a b c
}
# 執(zhí)行函數(shù)。
test
# 返回結果。
# declare -- a="3"
# declare -- b="3"
# declare -- c="3"

# 定義函數(shù)外的全局變量
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
# 沒有該變量(已經(jīng)被銷毀了)
echo "${a} $"
# 因此,我們日常腳本中最常見的類似于'a=3'實際上是聲明并賦值了一個全局變量。
# 在接下來的 **討論** 環(huán)節(jié)會延伸討論全局和局部變量問題。
# 注意,不能使用 `+a` 或 `+A` 取消數(shù)組,也不能使用 `+r` 取消只讀屬性。

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

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

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

討論

  1. 全局和局部變量

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

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

    建議函數(shù)內使用local命令,函數(shù)外使用declare命令。

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

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

    相關資料:

  2. 關于declare typeset export local readonly命令

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

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

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

    typesetdeclare命令一樣。

  3. 關于異常情況

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

注意

  1. 該命令是bash內建命令,相關的幫助信息請查看help命令。
  2. 導出屬性的相關介紹請查看'export'命令。
  3. 只讀屬性的相關介紹請查看'readonly'命令。
  4. 引用屬性的相關介紹請查看'unset'命令的例子部分。
欧美激情aaaa_伊人久久久大香线蕉综合直播_日韩在线卡一卡二_亚洲成人人体
亚洲欧洲精品成人久久奇米网| 国产精品最新自拍| 国产精品成人在线| 奶水喷射视频一区| 久久aⅴ国产欧美74aaa| 国产精品一卡二| 亚洲影视中文字幕| 国产精品久久久久久影视| 亚洲人成网站影音先锋播放| 欧美性片在线观看| 国产一区二区三区久久悠悠色av| 国产婷婷色综合av蜜臀av| 亚洲综合色噜噜狠狠| 国产精品一二一区| 久久久精品一区| 亚洲精品国产精品乱码不99| 欧美日韩一区二区三| 亚洲欧美日韩国产一区二区| 国产日韩精品电影| 猛干欧美女孩| 亚洲自拍另类| 欲香欲色天天天综合和网| 欧美国产大片| 午夜精品久久久久久久久久久久| 黄色一区二区在线| 国产精品爱啪在线线免费观看 | 亚洲欧美中文日韩v在线观看| 欧美日韩性生活视频| 国产农村妇女精品| 亚洲国产综合在线| 亚洲夜晚福利在线观看| 午夜亚洲影视| 国产日产精品一区二区三区四区的观看方式 | 国产精品久久久久毛片大屁完整版 | 一本色道久久综合| 中文欧美字幕免费| 欧美亚洲一区二区在线| 久久亚洲精品网站| 欧美精品在线看| 国产伦一区二区三区色一情| 国产综合色一区二区三区| 亚洲一区二区不卡免费| 老色批av在线精品| 国产区欧美区日韩区| 亚洲天堂网在线观看| 久久视频这里只有精品| 韩国v欧美v日本v亚洲v| 午夜精品区一区二区三| 亚洲国产精品小视频| 久久久久久夜| 亚洲欧美一区二区三区在线| 久久国产加勒比精品无码| 欧美成人一区二区三区在线观看 | 久久av一区二区三区漫画| 欧美aⅴ一区二区三区视频| 国产精品高潮呻吟久久| 亚洲国产欧美一区| 欧美在线播放一区| 欧美午夜视频一区二区| 亚洲福利视频在线| 久久国产黑丝| 国产精品高清网站| 亚洲国产一成人久久精品| 欧美自拍偷拍| 国产精品女主播| 亚洲精选视频在线| 美女免费视频一区| 国产精品视频导航| 亚洲精品网址在线观看| 久久丁香综合五月国产三级网站| 欧美日韩第一页| 在线精品视频免费观看| 午夜视频在线观看一区二区三区 | 欧美日韩一区二区在线| 国产亚洲亚洲| 亚洲一区二三| 欧美精品久久99久久在免费线| 国内精品久久久久久久97牛牛| 亚洲一区二区三区精品视频| 欧美日韩国产免费| 亚洲日本在线视频观看| 久久蜜桃香蕉精品一区二区三区| 国产欧美日韩亚洲一区二区三区| 一本综合精品| 欧美日韩亚洲在线| 亚洲美女在线观看| 国产精品美女久久久久av超清| 亚洲国产欧美在线| 在线成人免费观看| 国色天香一区二区| 欧美一级免费视频| 欧美大片第1页| 亚洲国内高清视频| 欧美不卡视频| 亚洲人成在线播放| 欧美日韩的一区二区| 亚洲人体一区| 欧美国产视频在线| 日韩视频免费观看高清完整版| 狂野欧美激情性xxxx| 亚洲国产成人不卡| 卡通动漫国产精品| 亚洲视频一起| 国产精品国产自产拍高清av王其| 欧美一区午夜精品| 久久久久91| 国产日本欧美视频| 亚洲一区二区三区四区五区午夜| 老司机午夜精品| 亚洲永久精品国产| 欧美视频一区二| 日韩视频专区| 亚洲视频二区| 欧美在线看片| 99视频一区| 在线观看中文字幕亚洲| 国产一区二区中文| 国产日韩一区| 国产乱肥老妇国产一区二| 国产一区二区三区奇米久涩 | 欧美激情久久久久| 欧美一级播放| 久久精品欧美日韩| 国产一区二区三区最好精华液| 欧美在线播放高清精品| 黑人操亚洲美女惩罚| 欧美高清视频在线| 亚洲专区在线视频| 影视先锋久久| 欧美日韩视频在线| 中文精品一区二区三区| 欧美日韩爆操| 久久久亚洲欧洲日产国码αv | 亚洲午夜久久久久久尤物 | 欧美精品激情| 久久不射网站| 一本久久综合亚洲鲁鲁| 国内成人精品一区| 欧美理论电影网| 久久久免费精品| 一区二区三区黄色| 伊人伊人伊人久久| 国产精品美女诱惑| 欧美国产日韩精品| 欧美一区影院| 在线一区视频| 亚洲美女尤物影院| 伊人久久婷婷| 国产麻豆精品在线观看| 欧美日韩免费视频| 欧美激情一区二区三区高清视频| 亚洲视频一二| 亚洲色诱最新| 中国亚洲黄色| 黑人一区二区三区四区五区| 国产精品毛片a∨一区二区三区| 欧美11—12娇小xxxx| 午夜在线电影亚洲一区| 亚洲视频欧美视频| 午夜在线一区二区| 亚洲网站在线播放| 一本色道久久加勒比精品| 亚洲免费观看在线观看| 一级日韩一区在线观看| 宅男精品视频| 久久成人免费网| 欧美成人综合| 欧美三级电影大全| 亚洲国产精品va在线看黑人 | 亚洲一二三区在线观看| 亚洲深夜福利视频| 国产精品视频一| 欧美影片第一页| 亚洲精品视频在线播放| 欧美日韩国产高清视频| 亚洲美女av在线播放| 欧美日韩在线大尺度| 欧美一区二区网站| 夜夜爽av福利精品导航| 国产亚洲欧美色| 欧美女同视频| 久久资源在线| 国产精品国产一区二区 | 韩国欧美国产1区| 亚洲成人中文| 亚洲永久精品国产| 欧美韩日亚洲| 国产精品私房写真福利视频| 国内外成人免费视频| 亚洲大片在线| 亚洲一区二区免费视频| 久久人人看视频| 欧美日韩精品免费观看视频| 国产欧美亚洲一区| 99在线热播精品免费| 欧美bbbxxxxx| 国产一区二区在线观看免费播放 | 亚洲电影专区| 亚洲免费视频网站| 欧美午夜影院|