shell脚本之echo命令基础用法(一)

您所在的位置:网站首页 间谍过家家51话免费观看 shell脚本之echo命令基础用法(一)

shell脚本之echo命令基础用法(一)

2023-07-25 17:50| 来源: 网络整理| 查看: 265

echo是linux中我们经常写shell脚本经常用到的命令,总结一些常用的命令,以便在shell脚本中更流利的书写,方便记忆

格式一: echo 输入的内容 示例: 基本用法,直接输出内容可以加'',"",或者不加,也可以是中文

[root@zhaocheng ~]# cat echo.sh #!/bin/bash echo hello echo hello xiaoming echo 'hello xiaoming' echo "hello xiaoming tongxue" echo "下载文件中,请稍等" [root@zhaocheng ~]# bash echo.sh hello hello xiaoming hello xiaoming hello xiaoming tongxue 下载文件中,请稍等

格式二: echo -n 输出的内容 echo -n 是表示不换行输出 示例

#!/bin/bash echo -n hello echo -n hello xiaoming echo -n 'hello xiaoming' echo -n "hello xiaoming tongxue" echo -n "下载文件中,请稍等" [root@zhaocheng ~]# bash echo.sh hellohello xiaominghello xiaominghello xiaoming tongxue下载文件中,请稍等[root@zhaocheng ~]#

格式三 echo ls echo "ls" 当在使用我们的脚本的时候可能会使用一些shell命令,但是直接使用echo ls,这肯定当一个文本输出,如果想输出我们的shell命令ls,得到当前目录,就需要添加``,但是这样的输出只会不按正常的列表输出,如果想按格式输出的话,需要添加“”引起来 示例

[root@zhaocheng ~]# cat echo.sh #!/bin/bash echo "`ifup eth0`" [root@zhaocheng ~]# bash echo.sh dhclient(920) is already running - exiting. This version of ISC DHCP is based on the release available on ftp.isc.org. Features have been added and other changes have been made to the base software release in order to make it work better with this distribution. Please report for this software via the CentOS Bugs Database: http://bugs.centos.org/ exiting. Determining IP information for eth0... failed.

格式四 echo "\t" echo -e \t 可以加-e,直接输出转义字符,也可以不加-e,加“\t”,只针对命令,其他的转移字符,就需要添加-e操作了

ip route,列出路由表条目 route显示本机路由表

[root@zhaocheng ~]# cat echo.sh #!/bin/bash echo "`ip route`""\t""`route`" [root@zhaocheng ~]# cat echo.sh #!/bin/bash echo -e "`ip route`"\t"`route`"

执行效果都是一样的

[root@zhaocheng ~]# bash echo.sh default via 172.17.0.1 dev eth0 169.254.0.0/16 dev eth0 scope link metric 1002 172.17.0.0/20 dev eth0 proto kernel scope link src 172.17.0.8 \tKernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default gateway 0.0.0.0 UG 0 0 0 eth0 link-local 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 172.17.0.0 0.0.0.0 255.255.240.0 U 0 0 0 eth0

常用的转义字符 \b 相当于退格键,类似将前面的字符去掉 \c 不换行输出,作用相当于echo -n \n 换行,一般使用-e之后,输出的内容想换行就可以使用\n,一般写脚本的时候会用到这个,渲染输出的结果,或者添加点颜色换行 \f 代表与上一行结尾与下一行的开头换行连接 \v 与\f一样

友情提示:一般转移字符使用的都加-e,-e它是一个选项,这个选项包含了一些常用的转义字符,其他的建议都加-e,有的不支持“” 示例

格式五 echo -e \b

\b,相当于退格键,将前面的字符删除掉 可以使用单引号或者双引号都可以,注意需要加引号,不然以为是普通字符

[root@zhaocheng ~]# echo -e '123\b456' 12456 [root@zhaocheng ~]# echo -e "123\b456" 12456 不加-e,不会识别到,所以一般需要加-e操作参数 [root@zhaocheng ~]# echo "123""\b""456" 123\b456 [root@zhaocheng ~]# echo "123"\b"456" 123b456

格式六 echo -e \c 一般加\c的话,只会输出\c之前的字符,之后的不会输出

[root@zhaocheng ~]# echo -e "shouji\cpingban" shouji[root@zhaocheng ~]# echo -e "shouji\c" shouji[root@zhaocheng ~]#

格式七 echo -e \n 一般加\n的话,表示换行输出,这个可以根据自己的脚本格式输出一些自己的格式来

[root@zhaocheng ~]# echo -e "shouji\npingban\ndainnao\nshoubiao" shouji pingban dainnao shoubiao

格式八 echo -e \f 代表在上一行的结尾与下一行的开头连接

[root@zhaocheng ~]# echo -e "12345\f6789\09876\f9809876\f3456789" 12345 67899876 9809876 3456789

格式九 echo -e \v 与\f是一样的,上一行的结尾与上一行的开头进行连接

[root@zhaocheng ~]# echo -e "12345\v6789\v9876\v9809876\v3456789" 12345 6789 9876 9809876 3456789

格式九 echo -e \ 一般这个代表插入\本身,这个也可以直接使用\来使用也一样的效果

[root@zhaocheng ~]# echo -e "ghjk\\dehdh" ghjk\dehdh [root@zhaocheng ~]# echo -e "ghjk\dehdh" ghjk\dehdh

简单示例 使用阿里云的repo源

[root@zhaocheng ~]# cat yum.sh #!/bin/bash DIR=/etc/yum.repos.d/bak cd /etc/yum.repos.d/ [ -d $DIR ] || mkdir bak find /etc/yum.repos.d -name "*.repo" -exec mv {} bak \; &> /dev/null wget -O /etc/yum.repos.d/aliyun.repo https://mirrors.aliyun.com/repo/Centos-7.repo &> /dev/null echo -e "\033[49;32;5m 下载中\n[58%...]============================================================" echo -e "\033[49;32;5m[80%...]============================================================" yum clean all &> /dev/null yum makecache &> /dev/null echo "aliyun.repo Have been ready"


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3