`
yuanyao
  • 浏览: 149020 次
  • 性别: Icon_minigender_1
  • 来自: 就那小山沟
社区版块
存档分类
最新评论

Bash编程学习笔记(二)

阅读更多
读写Shell变量

命令替代操作符及其描述

$variable 得到一个变量的值,如果没有被初始化则为Null 没有被初始化返回NULL
${variable} 得到一个变量的值,如果没有被初始化则为Null,通常在其他的东西要添加到变量值的时候使用 同上
${variable:-string} 得到一个变量的值,如果这个变量没有被定义则返回一个确定的值        variable存在而且不是空值的时候返回变量的值,否在那返回null
${variable:=string} 得到一个变量没有被定义则把一个已知的值赋给它并返回这个值       variable存在不是空值的时候返回值,否则string赋给variable,返回string
${variable:?string} 如果变量没有被定义则显示一条消息 variable存在而且不是空值的时候,返回变量的值,否则显示字符串variable,并在其后显示message
${variable:+string} 测试一个变量存在与否 variable存在而且不是空值的时候返回string,否则返回null


yaoyuan-desktop$echo $name

yaoyuan-desktop$name=yaoyuan
yaoyuan-desktop$echo $name
yaoyuan
yaoyuan-desktop$echo $place

yaoyuan-desktop$echo ${name:-John} ${place:-Portland}
yaoyuan Portland
yaoyuan-desktop$echo ${place?"Not defined"}
bash: place: Not defined
yaoyuan-desktop$echo ${name:+"Not defined"}
Not defined
yaoyuan-desktop$echo ${place:+"Not defined"}

yaoyuan-desktop$echo ${place:="San Francisro"}
San Francisro
yaoyuan-desktop$echo ${name:-John} ${place:-Portland}
yaoyuan San Francisro



'',"",*,\的使用

yaoyuan-desktop$name=yaoyuan
yaoyuan-desktop$echo $name
yaoyuan
yaoyuan-desktop$name=yao yuan
bash: yuan:找不到命令
yaoyuan-desktop$echo $name
yaoyuan
yaoyuan-desktop$name=yaoyuan*
yaoyuan-desktop$echo $name
yaoyuan
yaoyuan-desktop$name=yaoyuan
yaoyuan-desktop$echo $name
yaoyuan
yaoyuan-desktop$echo "$name"
yaoyuan*
yaoyuan-desktop$echo "Is Not Hello World! "
Is Not Hello World! 
yaoyuan-desktop$echo '$name'
$name
yaoyuan-desktop$echo '$name'
$name




Shell命令替换

$(command)

yaoyuan-desktop$command=pwd
yaoyuan-desktop$echo "The value of command is: $command."
The value of command is: pwd.
yaoyuan-desktop$command=$(pwd)
yaoyuan-desktop$echo "The value of command is: $command."
The value of command is: /home/yaoyuan.

命令替换适用于任何命令

yaoyuan-desktop$echo "The date and time is $(date)."
The date and time is 2008年 10月 12日 星期日 01:41:28 CST.



创建只读的用户自定义的变量

declare -r [name-list]
typeset -r [name-list]
readonly [name-list]

用于阻止对name-list中列出的变量赋新值

yaoyuan@yaoyuan-desktop:~/ScriptFile$ declare -r name=Yao place=Yuan
yaoyuan@yaoyuan-desktop:~/ScriptFile$ echo $name $place
Yao Yuan

yaoyuan@yaoyuan-desktop:~/ScriptFile$ name=Yuan
bash: name: 只读变量
yaoyuan@yaoyuan-desktop:~/ScriptFile$ place="YaoYuan"
bash: place: 只读变量


只读变量的值不能重设
yaoyuan@yaoyuan-desktop:~/ScriptFile$ unset name
bash: unset: name:无法重置:只读的 variable
yaoyuan@yaoyuan-desktop:~/ScriptFile$ unset place
bash: unset: place:无法重置:只读的 variable


从标准输入设备读入

read [options][variable-list]

用于从标准输入设备读入一行,把读入的词赋给在variable-list中的变量

yaoyuan@yaoyuan-desktop:~/ScriptFile$ cat read_demo
#! /bin/bash
echo -n "Enter input: "
read line
echo "You entered: $line"
echo -n "Enter another line: "
read word1 word2 word3
echo "The first word is: $word1"
echo "The second word is : $word2"
echo "The rest of the line is: $word3"
exit 0
yaoyuan@yaoyuan-desktop:~/ScriptFile$ ./read_demo
Enter input: yaoyuan
You entered: yaoyuan
Enter another line: hello shell, I love you
The first word is: hello
The second word is : shell,
The rest of the line is: I love you








分享到:
评论

相关推荐

    PDF电子书《Bash Shell学习笔记》

    ### PDF电子书《Bash Shell学习笔记》知识点总结 #### 1. 引言 - **Shell**: Shell是一种命令解释器也是编程语言,为用户提供与操作系统内核交互的界面,支持用户执行各种命令和工具。 - **Bash**: 本书重点介绍的...

    shell编程学习笔记

    变量: 变量的赋值和引用 在shell编程中变量没有类型,简称弱类型编程语言,不需要声明,在引用这个变量时会创建它(在变量名前加$符号引用变量的值)。在定义变量时,若String中包含空格、制表符、换行符,需用单...

    bash高级编程教程

    总的来说,《高级Bash脚本编程指南》是学习和提升Bash脚本编程技能的宝贵资源。无论你是初学者还是经验丰富的开发者,都能从中受益,掌握更高效、更灵活的系统自动化工具。通过本书的学习,你将能够编写出更加高效、...

    Bash_shell学习笔记

    根据给定的"Bash shell学习笔记"文件信息,我们可以从中提炼出多个重要的IT知识点,具体如下: ### 1. 引言 - **Shell的角色**:Shell作为一个命令解释器和编程语言,在用户与UNIX/Linux系统内核之间提供了一个桥梁...

    shell脚本编程学习笔记汇总

    shell脚本编程学习笔记汇总 本文档总结了 Linux shell 脚本编程的学习笔记,涵盖了 shell 脚本的定义、编写、权限、存放位置、函数、变量、IF 控制语句、命令退出状态等知识点。 一、shell脚本的定义 shell 脚本是...

    入门到熟练 高效 Bash Shell 学习笔记材料书籍 BashNotesForProfessionals

    一本特别实在的 Bash 笔记教程,学习效率很高。是一份不可多得的高效 Bash 学习材料。如果你想学习 Bash Shell、Bash 脚本编程,看它绝对没错。免费分享!不用积分,更不用付费! 或者从此处直接下载: ...

    shell script编程学习笔记

    ### Shell Script 编程学习笔记 #### 一、Shell 脚本初窥 ##### 示例: ```bash #!/bin/sh # 第1行:指定脚本解释器(声明使用的shell名称),这里是用/bin/sh做解释器的。“#!”是一个约定的标记 cd ~ # 第2行:...

    linux编程学习笔记PDF资料下载.txt

    根据提供的文件信息,我们可以推断出这是一份关于Linux编程学习笔记的PDF资料。下面将对这份资料可能涉及的关键知识点进行详细的阐述。 ### Linux编程基础知识 #### 1. Linux操作系统概述 - **定义与特点**:Linux...

    Linux零基础学习笔记 Shell编程-菜鸟入门(超详细)

    Linux是开源的操作系统,它的命令行界面,尤其是Shell编程...因此,无论你是技术小白还是希望进一步提升,这份“Linux零基础学习笔记 Shell编程-菜鸟入门”都会是你宝贵的资源。祝你在学习的道路上越走越远,不断进步!

    UNIX系统编程学习笔记

    在进入UNIX系统编程的学习之前,我们首先需要理解UNIX的基本概念。UNIX是一种多用户、多任务的操作系统,由贝尔实验室在1960年代末开发。它以其简洁、强大的命令行接口和丰富的工具集而闻名,是许多现代操作系统设计...

    Linux服务器Shell编程学习笔记linux操作系统 电脑资料.docx

    在这个学习笔记中,我们将深入探讨如何编写和理解Shell脚本。 首先,Shell是Linux操作系统中的一个用户界面,它作为用户与操作系统内核交互的接口。常见的Shell类型有bash(Bourne-Again SHell)、sh(Bourne Shell...

    各种编程学习笔记:Python, HTML, CSS, Javascript, Git, Linux, PHP.zip

    这篇压缩包文件“各种编程学习笔记:Python, HTML, CSS, Javascript, Git, Linux, PHP.zip”包含了多个关键编程语言和技术的学习资料,是初学者和进阶者宝贵的资源。接下来,我们将深入探讨这些主题,以便更好地理解...

    Linux服务器Shell编程学习笔记linux操作系统 电脑资料.pdf

    Linux服务器Shell编程是系统管理员和开发者在日常工作中必备的技能之一。Shell脚本是一种通过Shell解释器执行的文本文件,可以...通过学习和实践,你将能够编写出功能丰富的Shell脚本,以应对各种复杂的系统管理任务。

    c++学习笔记.pdf

    标题中的"C++学习笔记.pdf"表明文档是一份关于C++语言的学习记录。C++是一种广泛使用的编程语言,由Bjarne Stroustrup在1980年代初开发,它是一种静态类型、编译式、通用编程语言。C++支持多范式编程,包括过程化、...

    BASH 学习笔记小结

    ### BASH 学习笔记小结 #### 1. Linux脚本编写基础 ##### 1.1 语法基本介绍 **1.1.1 开头** - **Shebang**: 在 Linux 脚本中,第一行通常是 `#!/bin/sh` 或 `#!/bin/bash`。这种特殊的行被称为 shebang (hash-...

    Linux学习笔记——入门资料

    Linux学习笔记——入门资料 Linux,作为一款开源、免费的操作系统,因其稳定性和安全性而备受开发者和系统管理员的青睐。这份“Linux学习笔记”旨在帮助初学者快速掌握Linux的基础知识和操作技能,从而轻松入门。 ...

    最新Hadoop学习笔记

    **Hadoop学习笔记详解** Hadoop是一个开源的分布式计算框架,由Apache基金会开发,主要用于处理和存储海量数据。它的核心组件包括HDFS(Hadoop Distributed File System)和MapReduce,两者构成了大数据处理的基础...

    学习笔记-基础Shell编程

    ### 学习笔记-基础Shell编程 #### 一、Shell编程概述 Shell编程是指利用Shell命令语言编写脚本来实现特定功能的过程。Shell不仅是Linux操作系统下的命令行解释器,还是一种强大的脚本语言,广泛应用于自动化任务...

    「linuxshell编程学习笔记shell运算符号和运算命令」.docx

    在Linux Shell编程中,运算符号和运算命令是核心概念,用于执行数学计算和逻辑操作。以下是关于这些主题的详细说明: **一、Shell运算符号** 1. **加法 (+)**: 使用`expr`命令进行加法运算,例如 `expr 43 + 21` ...

Global site tag (gtag.js) - Google Analytics