Linux入门笔记——echo

echo 
        Display a line of text(显示一行文本)

        这个命令的作用相当简单明了。传递到 echo 命令的任一个参数都会在(屏幕上)显示出来。


小插曲:

        每当你输入一个命令,然后按下 enter 键后,bash 会在执行你的命令之前对输入 的字符进行一个预处理。例如一个简单的字符”*”, 对 shell 来说有着多么丰富的涵义。这背后的的过程叫做(字符)展开。通过展开, 你输入的字符,在 shell 对它起作用之前,会展开成为别的字符。


       为了说明这一点 ,以下是 echo 命令案例:

案例 意义
echo this is a test
传递到 echo 命令的参数在屏幕上显示出来
echo *
(字符)展开,显示当前目录下所有(非隐藏)目录及文件名;
这个”*“字符意味着匹配文件名中的任意字符
echo D*
显示当前目录下以D打头的所有(非隐藏)目录及文件名;
echo [[:upper:]]*
显示当前目录下以大写字母打头的所有(非隐藏)目录及文件名;
echo /usr/*/share
(路径)展开,显示拼配到的路径名
echo $((2 + 2))
算术表达式展开,显示算术表达式(2+2)的结果,算术表达式展开格式:$((expression))
echo Number_{1..5}
花括号展开,显示:Number_1 Number_2 Number_3 Number_4 Number_5
echo a{A{1,2},B{3,4}}b
花括号展开嵌套使用,显示:aA1b aA2b aB3b aB4b
echo $USER
参数展开,显示”USER”的变量的内容。要查看有效的变量列表可以使用printenv
echo $(ls)
命令替换,允许我们把一个命令的输出作为一个展开模式来使用.
显示ls命令的执行结果
mkdir $(echo dir_{1..3})
批量创建 dir_1、dir_2、dir_3目录
echo "The balance for user $USER is: \$5.00"
转义字符来显示特殊字符,$转义字符\$ 

each 单引号和双引号的使用区别


双引号:放在双引号中的文本,(shell 使用的特殊字符)除了 $,\ (反斜杠),和 `(倒引号)之外,均被当作普通字符来看待(失去它们的特殊含义)。

        注意:双引号中,参数展开,算术表达式展开,和命令替换仍然有效。

单引号:禁止所有的展开,放在单引号内的所有文本均被当作普通字符来看待(失去它们的特殊含义)。


猜你喜欢

转载自blog.csdn.net/user_longling/article/details/52163737
今日推荐