高级变量-有类型变量

.高级变量用法– 有类型变量

  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.178linux.com/60664

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

相关推荐

  • N25第二周

      1,Linux上的文件管理命令都有哪些,其常用的使用方法及其相关示例演示。        文件查看类命令:cat, tac, head, tail, more, less           分屏…

    Linux干货 2016-12-12
  • 我的第一篇博客

    2018.3.26 整理

    2018-03-26
  • OPENSSL加密技术及私有CA的搭建

    加密方式有对称加密 非对称加密 单向加密 对称加密:     加密和加密都用同一个对称密钥,但是,这种加密方法存在一定问题,就是密钥传输时,容易被盗窃。还有密钥管理困难,对称加密的方法:DES、AES、Blowfish、Twofish、IDEA、RC6、CAST5。   非对称加密: 公钥…

    Linux干货 2015-08-17
  • Nginx 负载均衡多个nmmp主机

    设计拓扑图 一、Memcache简介 cache(缓存系统) 高性能分布式缓存服务器,缓存所有的“可流式化”数据:livejournal旗下Danga Interacive公司 程序=指令+数据 指令:程序 数据:IO操作 文件系统: 特征:协议简单  基于libevent的事件处理  内置内存存储方式  memcached 不…

    2014-09-17
  • 关于find命令的实际应用

    1、查找/var目录下属主为root,且属组为mail的所有文件 2、查找/var目录下不属于root、lp、gdm的所有文件 3、查找/var目录下最近一周内其内容修改过,同时属主不为root,也不是postfix的文件 4、查找当前系统上没有属主或属组,且最近一个周内曾被访问过的文件 5、查找/etc目录下大于1M且类型为普通文件的所有文件 6、查找/e…

    Linux干货 2016-08-16
  • 简述硬盘参数和ext2文件系统

    硬盘类型: HDD机械硬盘和SSD固态硬盘: HDD是现在最普通的硬盘,容量大,稳定,是存储数据的首选。SSD是现在新兴的硬盘,相比HDD,它的并发i/o高,传输速度可达HDD的几倍以上,无噪音低功耗,而且轻便防震,随着各大厂商发力,性价比也越来越高,要求性能高或者数据轻度使用者可以优先考虑SSD。   容量:存储数据的空间大小,一般来说HDD每G…

    Linux干货 2016-04-19