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. POJ 2553 The Bottom of a Graph (Tarjan)

    The Bottom of a Graph Time Limit: 3000MS   Memory Limit: 65536K Total Submissions: 11981   Accepted: ...

  2. Luogu P3168 [CQOI2015]任务查询系统

    题目链接 \(Click\) \(Here\) 差分主席树,就是把主席树做成一个差分前缀和的形式,还是很容易想到的. 写主席树的时候几个注意点: 查询可能开始于所有任务之前,二分任务点要把左边界设置为 ...

  3. tcpdump高级过滤

    一:查看帮助选项 tcpdump --help Usage: tcpdump [-aAbdDefhHIJKlLnNOpqStuUvxX#] [ -B size ] [ -c count ] [ -C ...

  4. 解决 Ubuntu 经常 卡死

    ubuntu 的卡死可能与显卡驱动不兼容有关. 这里提供2种方式, 1.禁用原来自带的nouveau显卡驱动sudo gedit /etc/modprobe.d/blacklist.conf在最后一行 ...

  5. jQuery克隆html元素并改变id

    如题,前端操作经常需要ajax异步刷新html页面数据.有时候js里面拼接html代码很麻烦. 因此选择一个div克隆并改变一些值就省了很多事.这个div也可以提前写在html里面hide() 下面是 ...

  6. C#中的特性(Attributes)

    约定: 1.”attribute”和”attributes”均不翻译 2.”property”译为“属性” 3.msdn中的原句不翻译 4.”program entity”译为”语言元素” Attri ...

  7. SSM框架中spring的XML文件配置

    <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w ...

  8. js/java常用正则表达式及写法

    不定时增加正则表达式. 其中 Js验证写法: var str = "待验证文本"; var regular = new RegExp(/^这里是正则表达式/); if (regul ...

  9. centos升级openssh版本

    似乎升级就是简单的安装ssh包就行了,没进行其他修改,虚拟机24个中高低漏洞解决 安装最新包: 1.下载:https://cdn.openbsd.org/pub/OpenBSD/OpenSSH/por ...

  10. 【转载】详解KMP算法

    网址:https://www.cnblogs.com/yjiyjige/p/3263858.html