shell编程 之 echo命令和printf命令
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命令的更多相关文章
- Linux学习——shell编程之正则表达式和字符处理命令
shell编程之正则表达式 一 正则表达式 1 什么是正则表达式 正则表达式用于描述字符排列和匹配模式的一种语法规则.它主要用于字符串的模式分隔.匹配.查找及替换操作. 2 shell编程之正则表达式 ...
- 【shell编程】之基础知识-常用命令
一.Shell echo命令 Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出.命令格式: echo string 您可以使用echo实现更复杂的输出格式控制. ...
- 输出指令(echo指令和printf 命令)
Shell echo命令 Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出.命令格式: echo string 您可以使用echo实现更复杂的输出格式控制. 1. ...
- shell编程基础(六): 透彻解析查找命令find
find 由于find具有强大的功能,所以它的选项也很多,其中大部分选项都值得我们花时间来了解一下.即使系统中含有网络文件系统( NFS),find命令在该文件系统中同样有效,只要你具有相应的权限. ...
- Linux Shell编程(23)——文本处理命令
处理文本和文本文件的命令sort文件排序, 通常用在管道中当过滤器来使用. 这个命令可以依据指定的关键字或指定的字符位置, 对文件行进行排序. 使用 -m 选项, 它将会合并预排序的输入文件. 想了解 ...
- Linux Shell编程(22)——时间/日期 命令
date直接调用, date 就会打印日期和时间到 stdout 上. 这个命令有趣的地方在于它的格式化和分析选项上.time输出统计出来的命令执行的时间.touch这是一个用来更新文件被存取或修改的 ...
- shell编程:定义简单标准命令集
shell是用户操作接口的意思,操作系统运行起来后都会给用户提供一个操作界面,这个界面就叫shell,用户可以通过shell来调用操作系统内部的复杂实现,而shell编程就是在shell层次上进行编程 ...
- 【Shell脚本学习15】shell printf命令:格式化输出语句
printf 命令用于格式化输出, 是echo命令的增强版.它是C语言printf()库函数的一个有限的变形,并且在语法上有些不同. 注意:printf 由 POSIX 标准所定义,移植性要比 ech ...
- shell printf命令:怎样格式化输出语句
printf 命令用于格式化输出, 是echo命令的增强版.它是C语言printf()库函数的一个有限的变形,并且在语法上有些不同. 注意:printf 由 POSIX 标准所定义,移植性要比 ech ...
随机推荐
- Luogu P3239 [HNOI2015]亚瑟王
题目链接 \(Click\) \(Here\) 期望神题.最开始一直尝试推朴素一点的,逻辑上的\(DP\)式子,后来发现一直出锅,可能是我的式子没容斥对... 题解中给出的想法是这样的: 首先,如果直 ...
- ssm框架中从controller传值给jsp的方式
第一种方式是 通过session 第二种如下: 如何将controller层值传递到JSP页面 @RequestMapping(value="/result",method=Req ...
- python机器学习-sklearn挖掘乳腺癌细胞(一)
python机器学习-sklearn挖掘乳腺癌细胞( 博主亲自录制) 网易云观看地址 https://study.163.com/course/introduction.htm?courseId=10 ...
- USB_4大描述符
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/aaa6695798/archive/2009/11/06/4776202.aspx 在USB描述符中,从上到下分为四个 ...
- passat QA / error code 20190210
s 帕萨特B5 技术资料下载 https://pan.baidu.com/s/1KXYly7eGDUSI5QiLcz8fiQ 提取码: 1i7u 星期日,10,二月,2019,17:16:16:317 ...
- Swagger入门
新手入门Swagger看了很多博客,竟然没有一个是步骤齐全的或直接能运行的.于是CSDN下载了SSM+Swagger整合的demo,一顿瞎整,终于可以运行了. 不容易,因此分享这篇博客,祝新手朋友们早 ...
- SQL-数据库刷题
因是个人总结,只列出对自己有用的或较难的: 下面这道题,第一次拿到,我尝试用 开窗函数 ROW_NUMBER()OVER() 编号,但是发现不能够处理好连续的问题, 上网查找了别人的解法记录下来,其实 ...
- Spark整合HBase,Hive
背景: 场景需求1:使用spark直接读取HBASE表 场景需求2:使用spark直接读取HIVE表 场景需求3:使用spark读取HBASE在Hive的外表 摘要: 1.背景 2.提交脚本 内容 场 ...
- jsp过滤器
1.ip过滤 IpFilter: package com.cn.filter; import java.io.IOException; import javax.servlet.Filter; imp ...
- 27. Spring Boot 缓存注解详解: @Cacheable、@CachePut、 @CacheEvict、@Caching、@CacheConfig
1.使用OGNL的命名规则来定义Key的值 @Cacheable(cacheNames = {"user"},key = "#root.methodName + '[' ...