1 echo命令基本情况:

echo显示普通字符:echo "i am studying shell"(有木有引号都可以)

支持转义字符:echo "\"hello\""(结果是”hello“)。

显示变量:echo "$name is my arguement", 注意read name 是一个特殊用法,相当于raw_input(), 当脚本文件中内容如下时候:

#!/bin/bash

read name #表示从脚本外获得name参数的内容

echo "$name is my arguement "    #脚本外运行的时候,会要求先输入,再输出,我输入的是:hehe,得到hehe is my arguement.

特殊转义,比如\n换行,需要echo 加参数-e,echo -e " hello \n" (这样才有效),同理\c不换行,也是这样才有效 echo -e "hello \c"

显示结果定向至文件:echo " hello " >t2.sh(事先如果没有t2.sh,系统会新建一个,在当前目录)

输出原样的字符串,不进行转义:echo ’ hehe /n' ,直接用单引号就行,单引号不支持转义

echo后面可以叠套需要计算的小程序,但是需要用反引号表明。比如echo `date`,运行的时候会显示当前时间。反引号意思是返回当前执行命令的结果

2 printf命令

printf命令同样可以打印某些内容到显示器,但是据说比echo可操作性更强。

两者不同在于,printf支持某些格式化输出,不会自带换行符,比如:printf " hello how are u ?\n" 得到hello how are u

格式化输出,使用%s(字符串替代符),%d(十进制整数替代符),%f(浮点数替代符),%c(ascii码替代符,好像是)可以把后面的参数传递到printf中实现格式化输出,比如:

实例1:printf " get string %s  and num %d \n" abc 123 edf 456

得到输出:get string abc and num 123

get string bcd and num 456        #即使参数数量多于替代符数量也没关系,不够的参数%s会用null补,%d会用0补。

实例2:printf "name:%-10s id:%-10d price:%-4.2f \n " apple 122 2.555 banana 123  8.123

得到输出:name:apple id:122 price:2.56

                             name:banana id:123 price:8.12

解析:%-10s的意思是:首先这是一个替代符,%s,-的意思是输出的时候左对齐,10的意思的为这个数据留出10个字符的空间,如果这个字符不到10位,那就添加空格,如果这个字符多于10位,那就原样输出。%d同理,%f中的.2表示四舍五入留小数点后两位就可以。

prinrf中的转义字符:就好像\n不仅仅是“\n"而是换行符一样,printf中还有很多字符有特殊含义:比如\\表示\,\t水平制表符,\v垂直制表符,\f换页...不多赘述。

shell编程 之 echo命令和printf命令的更多相关文章

  1. Linux学习——shell编程之正则表达式和字符处理命令

    shell编程之正则表达式 一 正则表达式 1 什么是正则表达式 正则表达式用于描述字符排列和匹配模式的一种语法规则.它主要用于字符串的模式分隔.匹配.查找及替换操作. 2 shell编程之正则表达式 ...

  2. 【shell编程】之基础知识-常用命令

    一.Shell echo命令 Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出.命令格式: echo string 您可以使用echo实现更复杂的输出格式控制. ...

  3. 输出指令(echo指令和printf 命令)

    Shell echo命令 Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出.命令格式: echo string 您可以使用echo实现更复杂的输出格式控制. 1. ...

  4. shell编程基础(六): 透彻解析查找命令find

    find 由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下.即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只要你具有相应的权限. ...

  5. Linux Shell编程(23)——文本处理命令

    处理文本和文本文件的命令sort文件排序, 通常用在管道中当过滤器来使用. 这个命令可以依据指定的关键字或指定的字符位置, 对文件行进行排序. 使用 -m 选项, 它将会合并预排序的输入文件. 想了解 ...

  6. Linux Shell编程(22)——时间/日期 命令

    date直接调用, date 就会打印日期和时间到 stdout 上. 这个命令有趣的地方在于它的格式化和分析选项上.time输出统计出来的命令执行的时间.touch这是一个用来更新文件被存取或修改的 ...

  7. shell编程:定义简单标准命令集

    shell是用户操作接口的意思,操作系统运行起来后都会给用户提供一个操作界面,这个界面就叫shell,用户可以通过shell来调用操作系统内部的复杂实现,而shell编程就是在shell层次上进行编程 ...

  8. 【Shell脚本学习15】shell printf命令:格式化输出语句

    printf 命令用于格式化输出, 是echo命令的增强版.它是C语言printf()库函数的一个有限的变形,并且在语法上有些不同. 注意:printf 由 POSIX 标准所定义,移植性要比 ech ...

  9. shell printf命令:怎样格式化输出语句

    printf 命令用于格式化输出, 是echo命令的增强版.它是C语言printf()库函数的一个有限的变形,并且在语法上有些不同. 注意:printf 由 POSIX 标准所定义,移植性要比 ech ...

随机推荐

  1. Windows7安装程序无法定位现有系统分区,也无法创建新的系统分区

    解决Windows7.Windows8系统安装时“安装程序无法定位现有系统分区,也无法创建新的系统分区”提示. 方法一 把Windows7镜像发在你电脑的非系统盘的其他硬盘上. 重启机器,通过U盘启动 ...

  2. springcloud的turbine集成zookeeper

    1.turbine监控界面显示一直是loading的状态,如何解决 http://blog.didispace.com/spring-cloud-tips-4/ 2.通过追踪turbine的依赖可以看 ...

  3. jq实现百度图片移入移出内容提示框上下左右移动的效果

    闲来无聊,看到百度图片hover的时候提示框的效果,遂想试一试自己能否实现. 百度图片hover的效果: 需求: 1. 当鼠标从图片上部移入的时候,提示框从上部移到正常位置.从上部移出的时候,提示框从 ...

  4. IE缓存查看的方法

    选择设置中的Internet选项中, 然后点击查看文件: 最终缓存目录:

  5. centos6.7不联网的情况下安装配置本地yum源

    1  cd / 2 mkdir -p /app/ios 3  cd /opt     mkdir ios 4   把下载好的centos-6.7-x86_64-bin-dvd1.iso  上传到 /o ...

  6. Tensorflow object detection API 搭建物体识别模型(二)

    二.数据准备 1)下载图片 图片来源于ImageNet中的鲤鱼分类,下载地址:https://pan.baidu.com/s/1Ry0ywIXVInGxeHi3uu608g 提取码: wib3 在桌面 ...

  7. ACM-ICPC 2018 焦作赛区网络预赛 I Save the Room(水题)

    https://nanti.jisuanke.com/t/31718 题意 问能否用1*1*2的长方体填满a*b*c的长方体. 分析 签到.如果a.b.c都是奇数,一定不能. #include< ...

  8. 解析ArcGis的标注(三)——标注的放置 与 转注记修改

    该“标注”系列博文的标注引擎使用“标准标注引擎(standard label engine)”,这个概念如不知道,可不理会,ArcGis默认标注引擎就是它. 写着写着发现ArcGis标注的破事儿好多啊 ...

  9. URLSearchParams 接口

    URLSearchParams 接口定义了很多个用来处理 URL 参数串的方法 他可以把对象转变成url上面查询信息的写法,例如a=1&b=2 可以把请求路由中的字符串   key=1 ,拼接 ...

  10. 细说shiro之四:在web应用中使用shiro

    官网:https://shiro.apache.org/ 1. 下载在Maven项目中的依赖配置如下: <!-- shiro配置 --> <dependency> <gr ...