`

高级Bash编程指南__第二部分__基本__4.0变量和参数的介绍

阅读更多
4.0 变量和参数的介绍
1.0 变量的声明不能出现空格;
2.0 被一对双引号(" ")括起来的变量替换是不会被阻止的,所以双引号被称为部分引用,又叫弱引用;如果被一对单引号(' '),那么变量替换就被阻止了,变量名只会被解释成字面的意思,不会发生变量替换,所以单引号又称为全引用,或者强引用;

[root@cy-cloud02 exercise]# hello="A B C  D"
[root@cy-cloud02 exercise]# echo $hello   #变量替换则不会保留其中的空白
A B C D
[root@cy-cloud02 exercise]# echo "$hello"  #变量引用将保留其中的空白
A B C  D
[root@cy-cloud02 exercise]# echo "${hello}"
A B C  D
[root@cy-cloud02 exercise]# echo '$hello'  #强引用,只能显示字面意思
$hello


3.0 可以在同一行上设置多个变量,但是必须以空白进行分割(这种方式会降低可读性,并且不可移植)
[root@cy-cloud02 exercise]# var1=1 var2=2 var3=3
[root@cy-cloud02 exercise]# echo "var1=$var1 var=$var2 var3=$var3"
var1=1 var=2 var3=3

如果在变量中存在空白,则必须加上引用,或者采用将空白转义的方法。
[root@cy-cloud02 exercise]# mixed_bag=2\ ---\ Whatever
[root@cy-cloud02 exercise]# echo $mixed_bag
2 --- Whatever

[root@cy-cloud02 exercise]# echo $mixed_bag
2 --- Whatever
[root@cy-cloud02 exercise]# unset mixed_bag    #设置这个变量的值为空
[root@cy-cloud02 exercise]# echo $mixed_bag

[root@cy-cloud02 exercise]#

注意:
* 一个未初始化的变量是没有值的,但在做算术操作的时候,这个未初始化的变量看起来是0;

[root@cy-cloud02 exercise]# echo "$uninitialized"     #未定义的变量初始值为空

[root@cy-cloud02 exercise]# let "uninitialized += 5"  #对未定义的变量进行算术运算
[root@cy-cloud02 exercise]# echo "$uninitialized"
5
[root@cy-cloud02 exercise]#

4.0 赋值 "="
1.0 使用read进行赋值
#!/bin/bash
echo -n "Enter \"a\" "
read a
echo "The value of \"a\" is now $a "
echo

exit 0

2.0 复杂一点的赋值
[root@cy-cloud02 exercise]# a=`echo hello`
[root@cy-cloud02 exercise]# echo $a
hello
[root@cy-cloud02 exercise]# a=`ls -l`
[root@cy-cloud02 exercise]# echo "${a}"
total 8
-rwxr-xr-x 1 root root 43 Oct 16 23:26 201.sh
-rwxr-xr-x 1 root root 93 Oct 18 10:58 401.sh

3.0 使用$(...)机制进行变量赋值
[root@cy-cloud02 exercise]# arch=$(uname -m)
[root@cy-cloud02 exercise]# echo $arch
x86_64
[root@cy-cloud02 exercise]#

5.0 Bash变量是不区分类型的
6.0 从命令行传递到脚本的参数: $0, $1 ... $9, ${10}, ${11}
$9之后的参数必须用大括号括起来
$* 和 $@表示所有的位置参数








@dianxinguangchang.43F.zhongshanerlu.yuexiuqu.guangzhoushi.guangdongsheng

2016-10-18 15:16
分享到:
评论

相关推荐

    高级bash编程指南_PDF版.zip

    **高级Bash编程指南**是针对Linux或Unix系统中Bash shell脚本编写的一份深入教程,这份PDF版教程旨在帮助用户充分利用Bash的强大功能,提高自动化任务处理和系统管理的效率。Bash(Bourne-Again SHell)是大多数...

    高级bash脚本编程指南_html

    高级bash脚本编程指南

    高级Bash脚本编程指南 操作系统 - Linux - 高级Bash脚本编程指南.zip

    这份“高级Bash脚本编程指南”涵盖了从基础到进阶的各个层面,旨在帮助用户深入理解和熟练运用Bash脚本。 首先,让我们了解一下Bash的基础知识。Bash脚本是一种文本文件,其中包含了可执行的Shell命令。它允许你...

    高级Bash脚本编程指南 源码

    《高级Bash脚本编程指南》是一本深入探讨Bash编程的资源,提供了丰富的示例和详尽的解释。以下是根据提供的压缩包文件名所涉及的一些核心知识点: 1. **数组操作**: - `array-append.bash`:Bash从4.0版本开始...

    高级Bash 脚本编程指南.pdf

    《高级Bash脚本编程指南》是一本专为深度学习Unix/Linux环境下的Bash脚本编程而设计的书籍。Bash,全称Bourne-Again Shell,是Unix和类Unix系统中最常用的shell之一,几乎在所有Linux发行版以及大部分的Unix变体中都...

    高级Bash脚本编程指南ABS_Guide PDF 中文版

    《高级 Bash 脚本编程指南》是一本广受好评的 Bash 脚本编程著作,原作者是 Mendel Cooper ,其原始版本地址是:http://tldp.org/LDP/abs/html/index.html ,豆瓣链接在此,评分高达 9.0分,其江湖地位斐然,可以...

    高级Bash脚本编程指南

    高级Bash脚本编程指南

    高级Bash脚本编程指南[1].3.9.1 (杨春敏 黄毅 译)【无重复页】.pdf

    接着,书中详细介绍了特殊字符、变量和参数的使用,包括变量替换、变量赋值,以及Bash变量不区分类型的特性。此外,还涉及了引用、退出状态码、条件判断、操作符和数字常量等基础知识点。 进阶部分的内容包括了变量...

    高级Bash脚本编程指南_手册CHM版

    所幸的是,我看到了这本被人称为abs的书,这本书介绍了bash大量的细节和广阔的范围,我遇到的绝大部分的技术问题--无论是我忘记的或是以前没有发现的--都可以在这本书里找到答案。这本使用大量的例子详细地介绍了...

    高级Bash脚本编程指南Doc转pdf高清版

    通过阅读"高级Bash脚本编程指南",无论是初学者还是经验丰富的用户,都能从中获取大量实用的知识和技巧,进一步提升自己的Bash脚本编程能力。在实际工作中,强大的Bash脚本编写能力可以解决许多自动化任务,如系统...

    高级bash脚本编程指南 6.0 最新版

    高级 bash 脚本 编程指南 6.0 最新版 2009 高级 bash 脚本 编程指南 6.0 最新版 2009 高级 bash 脚本 编程指南 6.0 最新版 2009

    高级bash编程指南中文版

    **高级Bash编程指南中文版**是一本深入探讨Bash shell脚本编程的资源,源自英文版的**Advanced Bash Programming Guide**。Bash是Linux和类Unix系统中最常用的命令行解释器,也是编写自动化任务和脚本的强大工具。这...

    《高级bash编程指南》

    《高级Bash编程指南》是一本专为熟练和有经验的Linux或Unix用户设计的书籍,旨在深入探讨Bash shell的高级用法和编程技巧。Bash,全称Bourne-Again SHell,是GNU项目的一个核心组件,广泛应用于各种Linux发行版和类...

Global site tag (gtag.js) - Google Analytics