高級變量-有類型變量

.高級變量用法– 有類型變量

  Shell 變量一般是無類型的,但是bash Shell 提供了declare和 typeset 兩個命令用于指定變量的類型,兩個命令是等價的

declare [ 選項]  變量名

-r  將變量設置為只讀屬性

-i  將變量定義為整型數

-a  將變量定義為數組

-A  將變量定義為關聯數組

-f  顯示此腳本前定義過的所有函數名及其內容

-F  僅顯示此腳本前定義過的所有函數名

-x  將變量聲明為環境變量

-l 將變量值轉為小寫字母 declare –l var=UPPER

-u 母 將變量值轉為大寫字母 declare –u var=lower

.間接變量引用

 如果第一個變量的值是第二個變量的名字,從第一個變量引用第二個變量的值就稱為間接變量引用

 variable1=variable2

 variable2=value

 variable1 的值是variable2 ,而variable2 又是變量名,variable2 的值為value ,間接變量引用是指通過variable1獲得變量值value 的行為間接變量引用

eval tempvar=\$$variable1

例:

[root@lxc ~]# cmd=command

[root@lxc ~]# command=hostname

[root@lxc ~]# eval s=\$$cmd

[root@lxc ~]# echo $s

hostname

[root@lxc ~]#

tempvar=${!variable1}

例:

[root@lxc ~]# cmd=command

[root@lxc ~]# command=hostname

[root@lxc ~]# s=${!cmd}

[root@lxc ~]# echo $s

hostname

[root@lxc ~]#

 

.eval 命令

 eval 命令將會首先掃描命令行進行所有的置換,然后再執行該命令。該命令適用于那些一次掃描無法實現其功能的變量. 該命令對變量進行兩次掃描

例:

[root@lxc ~]# echo {1..10}

1 2 3 4 5 6 7 8 9 10

[root@lxc ~]# n=6

[root@lxc ~]# eval echo {1..$n}

1 2 3 4 5 6

[root@lxc ~]#

 

.創建臨時文件

mktemp 命令:創建的臨時文件可避免沖突

例:

[root@lxc ~]# mktemp lxc.XXX

lxc.9qa

[root@lxc ~]#

mktemp [OPTION]… [TEMPLATE]

TEMPLATE: filename.XXX

注:X 至少要出現三個

OPTION:

-d:創建臨時目錄

-p DIR 或–tmpdir=DIR :指明臨時文件所存放目錄位置

例:

[root@lxc ~]# mktemp -d lxc.XXX

lxc.b8H

[root@lxc ~]# mktemp -p lxc.b8H/ xyh.XXX

lxc.b8H/xyh.CRq

[root@lxc ~]#

 

.安裝復制文件

install 命令:

install [OPTION]… [-T] SOURCE DEST  單文件

install [OPTION]… SOURCE… DIRECTORY

install [OPTION]… -t DIRECTORY SOURCE…

install [OPTION]… -d DIRECTORY… 創建空目錄

選項:

-m MODE ,默認755

-o OWNER

-g GROUP

例:

[root@lxc ~]# install -m 600 -o lxc -g root test.sh /

 

 

 

原創文章,作者:changge,如若轉載,請注明出處:http://www.www58058.com/60664

(0)
changgechangge
上一篇 2016-11-24
下一篇 2016-11-24

相關推薦

  • 初學Linux的感受

    我是馬哥25期的學員,之前從來沒有接觸過Linux,近幾天學習Linux下來,收獲很多,懂了一些基本命令,以及安裝Linux系統. 我知道從一個什么也不懂的小白變成站在云端的大神,這之間需要付出多少的努力和汗水.開學典禮有幸見到馬哥本人,也見到 我的授課教師老王,之前看到兩位上課的視頻,詼諧幽默,我很喜歡! 但愿我這四個月痛并快樂著. 努力,然后看到勝利的曙…

    Linux干貨 2017-07-11
  • 計算機組成及Linux入門知識

    計算機的基本組成: 存儲器:     實現記憶功能的部件用來存放計算程序及參與運算的各種數據 運算器:     負責數據的算術運算和邏輯運算即數據的加工處理 控制器:     負責對程序規定的控制信息進行分析,控制并協調輸入,輸出操作或內存訪問 輸入設備:    實現計算程序和原始數據的輸入 輸出設備:    實現計算結果輸出 組成的聯系: 圖一 圖二 計算…

    Linux干貨 2016-09-16
  • Linux的任務計劃

    Linux的任務計劃         我們在使用系統的過程中,經常需要在以后的某個時間點執行一個任務,而我們又不在機器旁邊的時候,比如在半夜時服務器訪問的用戶很少,寬帶資源很充足的時候,要去鏡像軟件包、重啟服務器(雖然Linux很穩定)等,或者需要服務器在每天的特定時間去備份數據…

    2017-03-19
  • 網絡管理

    網絡概念 網絡應用程序 Web 瀏覽器(Chrome、IE、Firefox等) 即時消息(QQ、微信、釘釘等) 電子郵件(Outlook、foxmail 等) 協作(視頻會議、VNC、Netmeeting、WebEx 等) web網絡服務(apache,nginx,IIS) 文件網絡服務(ftp,nfs,samba) 數據庫服務( MySQL,MariaDB…

    Linux干貨 2017-05-06
  • Linux文件管理命令與bash的工作特性

    Shell程序在接受到用戶執行命令的請求時,在分析完成之后,最左側的字符串會被當作命令;
    命令查找機制:查找內部命令時,根據PATH環境變量中設定的目錄,從左至右逐個搜索目錄下的文件名;

    2018-03-11
欧美性久久久久