高級變量-有類型變量

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

  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 16:49
下一篇 2016-11-24 17:14

相關推薦

  • Linux作業管理和并發執行

    概述 本章將為大家介紹一些進程管理的補充部分作業管理和任務的并發執行,同時也將介紹一下Linux系統上計劃任務的相關內容,具體分為:1、Linux作業管理2、任務的并發執行 第一章 Linxu作業管理 1、前臺作業和后臺作業    前臺作業:通過中斷啟動,且啟動后一直占據終端    后臺作業:可通過終端啟動,但啟動后即…

    Linux干貨 2016-09-28
  • 第二周練習與作業

    第二周作業 1、Linux上的文件管理類命令有哪些,其常用的使用方法及其相關示例演示          文件管理類命令:cp,mv,rm cp: 源文件;目標文件          [root@loc…

    Linux干貨 2017-08-09
  • nginx

    1.Nginx的程序架構:        master/worker            一個master進程:     &nb…

    2017-06-19
  • Nginx的編譯安裝

    nginx.html Nginx的編譯安裝 一、Nginx的特點 二、獲取并編譯Nginx 三、配置主頁面 四、配置編譯文件時的選項及模塊 一、Nginx的特點 1、Nginx 專為性能優化而開發,性能是其最重要的考量,實現上非常注重效率 。它支持內核 Poll 模型,能經受高負載的考驗,有報告表明能支持高達 50,000 個并發連接數。 2、Nginx 具…

    Linux干貨 2016-03-20
  • N26 – 第三周作業

    1、列出當前系統上所有已登錄的用戶的用戶名,同一用戶登錄多次只顯示一次     ~]# who -u |cut -d ' ' -f1|uniq -u 2、最后登錄到當前系統的用戶的相關信息     ~]#id $(last | h…

    Linux干貨 2017-01-03
  • keepalived+nginx

    keepalived可以認為是VRRP協議在Linux上的實現,主要有三個模塊,分別是core、check和vrrp。core模塊為keepalived的核心,負責主進程的啟動、維護以及全局配置文件的加載和解析。check負責健康檢查,包括常見的各種檢查方式。vrrp模塊是來實現VRRP協議的。本文基于如下的拓撲圖: 配置keepalived+nginx的方…

    Linux干貨 2016-11-04
欧美性久久久久