码迷,mamicode.com
首页 > 系统相关 > 详细

Shell理论学习(三)

时间:2015-02-05 18:43:30      阅读:261      评论:0      收藏:0      [点我收藏+]

标签:welcome   用户登录   

37.调整变量的属性

  • 只读变量:使用readonly命令

    readonly 变量名称

  • readonly其他用法

    • readonly或readonly -p:显示目前具有只读属性的变量列表

    • readonly -f 函数名称:设定该函数式不可修改

    • readonly -a 数组变量:设定-a后接的变量名是只读的数组

  • 只读变量:使用declare

    技术分享


38.自定义环境变量

  • 以一般用户登录时

    技术分享

  • 以系统管理员的角色工作时,环境变量配置文件有三个

    • /etc/profile

    • /etc/bash.bashrc

    • /etc/skel目录下的所有文件

39.Here Document

基本用法:

[root@test ~]#  cat >>123.txt<< end
> hello 
> my name is "jack"
> welcome to BJ
> end
You have new mail in /var/spool/mail/root
[root@test ~]# cat 123.txt 
hello 
my name is "jack"
welcome to BJ
  • Here Document也支持变量替换.在输入的内容中,如果有变量,bash在转向前,会先替换变量值

技术分享

  • 如何在变量中使用

[root@test ~]# Wow=‘Wow,great!‘
[root@test ~]# m1=$(cat <<HERE
> line 1 is good.
> They are jack,marry and john.
> $WoW
> HERE
> )
[root@test ~]# echo $m1
line 1 is good. They are jack,marry and john.
  • 如何关闭变量

[root@test ~]# m1=$(cat <<‘HERE‘
> line 1 is good.
> They are jack,marry and john.
> $WoW
> HERE
> )
[root@test ~]# echo $m1
line 1 is good. They are jack,marry and john. $WoW
  • 做多行批注

技术分享

40.如何测试变量是否存在

语法: ${待测变量-默认值}

解释:判断待测变量是否存在,如果变量存在,就传回变量的值,如果没有就会将默认值传给待测变量

  • 判断变量是否存在

[root@test ~]# unset myname
[root@test ~]# r=${myname-‘basher‘}
[root@test ~]# echo $r
basher
[root@test ~]# myname="Jack"
[root@test ~]# r=${myname-‘basher‘}
[root@test ~]# echo $r
Jack
  • 判断变量是否不存在或者为空

[root@test ~]# myname=
[root@test ~]# r=${myname:-‘basher‘}
[root@test ~]# echo $r
basher
[root@test ~]# unset myname
[root@test ~]# r=${myname:-‘basher‘}
[root@test ~]# echo $r
basher
  • 用if判断

    技术分享

  • 测试变量是否"不存在"或其值为空:提示错误信息

语法:${待测变量:?提示信息}

解释:判断变量是否"不存在"或者为"空",如果条件成立,则显示:?后的提示信息。并立即停止执行script

拆解表达式:

技术分享

范例:

技术分享

本文出自 “Linux革命” 博客,请务必保留此出处http://kaibinyuan.blog.51cto.com/7304008/1612017

Shell理论学习(三)

标签:welcome   用户登录   

原文地址:http://kaibinyuan.blog.51cto.com/7304008/1612017

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!