tlcl-从shell眼中看世界echo

从shell眼中看世界

echo-显示一行文本

当输入一个命令,bash在执行命令之前,会对输入的字符做展开处理。

路径展开

echo *

shell将*展开为当前目录下的文件名称,会打印出当前目录下的文件名称,

echo d*       打印出当前目录下所有以d开头的文件

echo *d       打印出当前目录下所有以d结尾的文件

~展开

echo ~        打印出当前用户的家目录信息

echo ~test    打印出test用户的家目录信息

算术表达式展开

echo $((expression))

echo $(((2*3)+5))

echo $(((2**3)*5))

注意表达式的格式,算术表达式只支持整数和加减乘除、取余、幂运算。

花括号展开

从一个花括号的模式中创建多个文本字符串

echo hello{1,2,3}   将会输出hello1 hello2 hello3

echo hello {1,2,3}  将会输出hello 1 2 3

echo hello{a,b,c}   将会输出helloa hellob helloc

注意:{}中的元素要用,分隔,可以是字符,也可以是字符串

最常见的应用是创建一系列的文件或目录

mkdir hello{1,2,3,4,5}

参数展开

echo $USER     打印出用户名

查看变量列表

printenv |less

当展开的变量是不存在的时候,系统会将其展开成为一个空字符串

echo $HELLO

命令替换

将一个命令的输出作为展开式

echo $(ls)

ls -l $(which cp)       将whic cp的输出信息作为ls的参数

或是

ls -l `which cp`        旧版的shell支持,倒引号

引用

echo hello     world

将会在屏幕上打印出hello world

echo the total is $100.00

将会在屏幕上打印出 the total is 00.00

在第一个中,shell会删除多余的空格,在第二个中,$会对1进行变量展开,而1并不是变量,所以会将其展开成为空字符串

shell提供了一种引用的机制,它会有效的控制字符的展开

双引号

第一种引用类型来控制字符的展开

如果在文本两端添加””,那么文本中除了$ \ `(倒引号)外,其他字符都将不会有特殊展开含义

在双引号中,参数展开、表达式展开、命令展开仍然有效

echo “$USER $((2**3)) $(ls)”

echo “hello    world”      会打印出hello     world

单词分割机制

echo hello    world

这时会输出hello world

在默认情况下,单词分割机制会在单词中寻找空格、制表符、换行符,并把它们看作单词之间的界定符,而每个单词都是一个参数,在上例中就有两个参数,打印出每个参数用空格界定

同样,如果你输入 echo $(cal)

那么此时打印出的是一行有空格界定的数据,而不含有换行符

如果输入  echo “hello    world”

单词分割被禁止,其实就是””内部的内容作为一个参数存在,而不加””却是两个参数

看看 echo $(cal)与echo “$(cal)”的区别

单引号

第二种引用限制字符展开,单引号会限制所有字符的展开,所有的字符只有本身的含义,不存在特殊含义

转义字符

用\来禁止特殊字符的展开,注意在单引号中\将失去作用

echo \”hello world\”

反斜杠转义序列的使用

\a 发出警告声;

\b 删除前一个字符;

\c 最后不加上换行符号;

\f 换行但光标仍旧停留在原来的位置;

\n 换行且光标移至行首;

\r 光标移至行首,但不换行;

\t 插入tab;

\v 与\f相同;

例如\a响铃

echo -e ‘\a’           -e选项来解释转义字符,虽然\在单引号中失去作用,但-e选项解释了它

echo $’\a’

不能够直接echo “\a”

最后学习一个-n选项

-n   不换行的输出

Echo “hello”;echo “world”     此时会两行输出hello world

Echo -n “hello”;echo “world”  则会一行输出helloworld

时间: 2024-08-25 15:13:39

tlcl-从shell眼中看世界echo的相关文章

从 shell 眼中看世界

(字符) 展开每一次你输入一个命令,然后按下 enter 键,在 bash 执行你的命令之前, bash 会对输入的字符完成几个步骤处理.我们已经知道两三个案例,怎样一个简单的字符序列,例如 "*", 对shell 来说,有很多的涵义.使这个发生的过程叫做(字符)展开.通过展开,你输入的字符,在 shell 对它起作用之前,会展开成为别的字符.为了说明我们所要表达的意思,让我们看一看 echo 命令.echo 是一个 shell 内部命令,来完成非常简单的认为.它在标准输出中打印出它的

《一个程序员眼中的世界》 -- 个人介绍

<一个程序员眼中的世界>  --  个人介绍 写在前面 写在前面的是对我个人的介绍,个人的教育.工作.成长经历决定了我的想法及看法,没必要,我没打算当一个专家,只是一个小小的程序员,芸芸众生中的一员,各位看客如果有其他不同的看法,尽管提出来,赞同的共勉,质疑的讲出你的看法,有道理我亦欣然接受,辱骂的我只能置之不理了. 教育背景 用现在的话说我是一个纯种的“屌丝”,也做这“屌丝”的代表职业----程序猿,如果说教育背景真是说不出口,不是985.更不是211,所以我不说体制教育(没脸说,避弱就强也

看世界新闻网的简单实现

以前做了一个看世界新闻网,那个只用到了简单的JS,HTML布局.为了弥补空虚感,决定做一个动态获取数据的,界面如何先不管,能获取数据就行. 简单规划如下:(PS:个人有个习惯,就是一般想做一个大点的项目而不是练习的时候,习惯先画图规划下,然后再开始做,这样有目标导向...) 做了大概4天,除了解耦基本完工了: 项目简单截图: 项目链接:http://pan.baidu.com/s/1slKNSdR 密码:jj25

心累的时候,换个角度看世界

1.把人生当旅程的人,遇到的永远是风景,淡而远:而把人生当战场的人,遇到的永远是争斗,激而烈.人生就是这样,你选择什么你就会遇到什么,没有对错之分,只有承受与否.做淡然若水的女子,不道闲言碎语,只有书香诗话.不叙东家长短,只有人生哲理,不言生活凡事,只有领悟憧憬.不说动情之语,不做伤人之事,不品幽怨之人.学会隐藏,学会坚强.学会淡看令自己伤感的文,学会放下令自己不悦的事,学会放手令自己卑微的人.这是此生要坚持的模样:素履以往.明媚向阳.生活中,并不是自己努力就一定什么都可以的,很多时候,我们也会

出国?上研?工作?回家种田?(一) 出国看世界

本科生毕业主要有四个选择:出国,上研,工作,还有回家种田,不对,其实我是想说创业-- 我自己只是本科毕业找工作了.原先也是在这个问题上面做了很多研究,问过不少人,周围也有不少同学上研.出国之类,这里把我知道的东西给总结一下.其中有些内容也是道听途说,或是自己的理解和猜想,尤其是关于上研情况的看法,作为本科生,其实我没有太多发言权,但是尽量按我所知道和所理解的写一写吧.也希望知道更多情况的人来补充.每个人都有自己的选择,每个选择都有其好处和坏处,没有绝对正确的答案. 出国看世界 出国途径其实很多,

shell脚本中使用echo显示带颜色的内容

shell脚本中使用echo显示带颜色的内容,需要使用参数-e 格式如下: echo -e "\033[字背景颜色;文字颜色m字符串\033[0m" 例如: echo -e "\033[41;36m Hello World \033[0m" 其中41的位置代表底色, 36的位置是代表字的颜色 注: 1.字背景颜色和文字颜色之间是英文的"" 2.文字颜色后面有个m 3.字符串前后可以没有空格,如果有的话,输出也是同样有空格 下面是相应的字和背景颜色

“站在世界看世界” 差异化破局助力华为云扩张

2017年,华为在一年一度的生态合作伙伴大会上宣布,Cloud BU正式成立.2018年,华为云发展迅猛.不仅在全球范围内已为PSA集团,桑坦德银行,SONY,飞利浦等全球大型企业提供云服务,更收获了业界的广泛认可,俨然成为了主流分析师机构Forrester.IDC等报告中领导者象限的"常客".截止2018年6月,华为云收入同比增长7倍,合作伙伴数量增长45%.作为华为最年轻的BU,华为云是如何做到仅用一年多的时间就在全球范围内打下了实打实的战绩?近日,在今年的华为核心供应商大会中,华

短视频源码:足不出户看世界

作者/布谷惠泽 来源/山东布谷鸟网络 伴随着互联网的发展,以抖音,快手为主的短视频源码迅速火热起来,预计2020年短视频市场规模将超过350亿元.一方面,随着智能终端的发展和普及,我国使用手机设备上网的网民已经达到了96.3%,远远超过其他上网设备,课件用户的移动触网习惯已经养成:另一方面,中国移动互联网络环境不断优化,为消费者的移动端上网体验提供了技术的支持和保障.移动互联网用户的普及和流量的增长,使得碎片化时代的触网体验难以保障,可以打破时间和空间限制观看浏览视频,因此短视频成为移动互联网时

精彩书摘:《透过佛法看世界》

给寻找答案的人 心灵的安顿和自由是人人渴望的,但是,我们在追求这安顿和自由的过程中,往往被自身的矛盾所限制.缺乏对自己的了解,令我们总是处在困惑和痛苦之中. 有人说,佛法似乎总是在强调苦,苦苦.变苦.行苦,那么关于人生的幸福和快乐,佛法是怎样看待的呢?其实,佛法也讲幸福快乐,但强调通过见.修.行去实现真正持久的幸福. 见,指佛法对于人.事.万物的见解,比如无常.无我.苦.空.因果.缘起等. 修,指依照系统的方法和次第把以上见解内化为自己的体悟,亲身去勘验.证明佛法的正见. 行,指把亲自体验和证明