05.Shell乾坤大挪移

如果表达式中包含特殊字符,Shell 将会进行替换。例如,在双引号中使用变量就是一种替换,转义字符也是一种替换。
举个例子:

#!/bin/bash

a=10

echo -e "乾坤大挪移  $a \n"

运行结果:乾坤大挪移  10

这里 -e 表示对转义字符进行替换。如果不使用 -e 选项,将会原样输出:乾坤大挪移  10 \n

下面的转义字符都可以用在 echo 中:

可以使用 echo 命令的 -E 选项禁止转义,默认也是不转义的;使用 -n 选项可以禁止插入换行符。

命令替换

命令替换是指Shell可以先执行命令,将输出结果暂时保存,在适当的地方输出。

命令替换的语法:

`command`

注意是反引号,不是单引号,这个键位于 Esc 键下方。

下面的例子中,将命令执行结果保存在变量中:

#!/bin/bash

DATE=`date`echo "当前日期是: $DATE"

USERS=`who | wc -l`echo "登陆用户有  $USERS"

UP=`date ; uptime`echo "时间: $UP"

运行结果:

当前日期是: Mon Jun 27 00:28:39 PDT 2016
登陆用户有  2
时间: Mon Jun 27 00:28:39 PDT 2016
 00:28:39 up  5:29,  2 users,  load average: 0.00, 0.00, 0.00

变量替换

变量替换可以根据变量的状态(是否为空、是否定义等)来改变它的值

可以使用的变量替换形式:

一个例子:

时间: 2024-08-03 15:39:28

05.Shell乾坤大挪移的相关文章

05 shell编程之正则表达式

正则表达式&&文本处理利器 学习目标: l  掌握正则表达式的运用 l  掌握sed.awk文本处理工具的使用 目录结构:   正则表达式 正则表达式概述 l  正则表达式:使用单个字符串来描述,匹配一系列符合某个句法规则的字符串 l  由普通字符与特殊字符组成 l  一般用在脚本编程,文本编辑器中,如php.Python.shell等,简写为regex.regexp.RE l  用来检索.替换符合模式的文本,具有强大的文本匹配功能 l  能够在文本海洋中快速高效地处理文本 l  正则表达

老男孩教育运维班26期脱产班9月即将开班,伙伴们抓紧报名!

老男孩教育中国linux运维领域教育第一品牌,不仅教学质量一流,就业薪水更是一流! linux运维班平均毕业工资10K,高级架构师毕业平均薪资16K. 本课表为201508制定,适合26期脱产班,最艰苦的周期4-5个月,有胆量挑战么? 什么?还没有掌握linux高级运维实战技术?那你真OUT了! 什么?工资还没过10K,那你更OUT了,北京平均工资最低也10K以上了! 屌丝们最后的福利! 身价千万的老板不足为奇! 身价千万的明星也不足为奇! 身价千万的运维屌丝你见过么?什么-没见过!!! 他如今

shell---scp远程传输文件不需要手动输入密码

1.通过sshpass让ssh记住密码实现ssh自动登陆 (1)安装sshpass sudo apt-get install sshpass 或者 下载sshpass-1.05.tar.gz shell>tar xvf sshpass-1.05.tar.gz shell>cd sshpass-1.05 shell>make && make install (2)测试 shell>/usr/local/bin/sshpass -p 密码 ssh [email prot

课程表安排

第一部分:linux网站运维必会基础技术知识体系 基础不牢,地动山摇 1.如何成为一个优秀的linux运维架构师人员 1)什么是linux运维? 2)linux运维岗位都做啥? 3)如何学好linux运维? 4)linux专业运维人员的习惯和思想 5)运维人员职场必备的工作沟通技巧 2.如何高标准的掌握linux运维实战技术 1)树立合理的职业目标和职业规划 2)掌握科学的学习运维技术的方法 3)掌握上课听课学习的要领 4)学习老师优秀的运维习惯和思路 5)抓重点.抓精髓 3.计算机硬件基础核心

最新大数据24期 共十天高清视频教程 附课件源码

课程目录: 大数据24期-01-JavaSE基础-15天 第一天: 01.什么是计算机软件02.什么数据软件开发--利用编程语言来写剧本03.什么是jdk--怎么安装jdk03.什么是jdk--怎么安装jdk04.安装启动eclipse04.安装启动eclipse05.配置eclipse的字体和布局06.新建一个java的类的步骤07.第一个java编程作品--HelloWorld08.java中的变量定义和变量赋值语法09.第一个java程序中的知识点梳理--终端输入--终端输出10.第二个j

shell 如何生成一个序列 01 02 03 04 05

seq 命令介绍 用途: seq - print a sequence of numbers 语法: seq [OPTION]... LAST seq [OPTION]... FIRST LAST seq [OPTION]... FIRST INCREMENT LAST 常用选项 -s, --separator=STRING use STRING to separate numbers (default: \n) -w, --equal-width equalize width by paddi

shell编程中的条件判断(shell 05)

shell编程中的条件判断条件if-thencase if-then单条件if commandthen commandsfi当command返回码为0时 条件成立 if.sh #! /bin/bash if date then echo "command exec" fi if date123 then echo "command exec1" fi echo "out if" [[email protected] sh]# ./if.sh 20

【转】shell 教程——05 第一个Shell脚本

打开文本编辑器,新建一个文件,扩展名为sh(sh代表shell),扩展名并不影响脚本执行,见名知意就好,如果你用php写shell 脚本,扩展名就用php好了. 输入一些代码: #!/bin/bash echo "Hello World !" “#!” 是一个约定的标记,它告诉系统这个脚本需要什么解释器来执行,即使用哪一种Shell.echo命令用于向窗口输出文本. 运行Shell脚本有两种方法. 作为可执行程序 将上面的代码保存为test.sh,并 cd 到相应目录: chmod +

shell基础05 处理用户输入

1.  命令行参数------类似javac  参数1 参数2 类似Java中编译的javac parm1.....在shell中,参数与参数之间用空格隔开.采用位置参数来识别对应的参数值:$0是程序名,$1是第一个参数,以此类推,知道第9个参数$9.对于大于9个参数的需要在变量数字周围添加花括号,比如${10}. note:命令行上不仅可以处理数值,还可以处理字符串. 1 [[email protected] Documents]$ cat test2.sh 2 #!/bin/bash 3 t