Linux Shell脚本系列教程(二):终端打印命令详解

   这篇文章主要介绍了Linux Shell脚本系列教程(二):终端打印命令详解,本文着重讲解了echo终端打印、printf终端打印两个打印出输出命令,需要的朋友可以参考下

  终端打印

  终端是交互式工具,用户可以通过它与shell环境进行交互。在终端中打印文本是大多数shell脚本和工具日常需要执行的基本任务。通过终端打印,人们可以知道系统的运行状态,这对用户来说是至关重要的。

  echo终端打印

   代码如下:

  echo "Welcome to Bash"

  echo 'Welcome to Bash'

  echo Welcome to Bash

  以上三种方法的效果是一样的,输出内容都是“Welcome to Bash”,并在末尾添加换行符。在默认情况下,echo在每次调用后会添加一个换行符,而无需手动输入换行符。此处,建议养成一种习惯,对于其他的方法了解即可。

  使用双引号时的限制

  使用双引号输出字符串时,字符串内不能含有特殊字符(!),或者要在特殊字符前加转义字符。使用单引号或者不使用引号,也可以正常输出特殊字符。

  代码如下:

  echo "cannot include !" #这种情况下将会报错

  echo "cannot include !" #这种情况下可以正常输出!

  echo cannot include ! #这种情况下可以正常输出!

  echo 'cannot include !' #这种情况下可以正常输出!

  使用单引号的限制

  在使用单引号输出字符串时,变量替换将会失效。使用双引号或者不使用引号可以正常输出被替换的变量。

   代码如下:

  var="abcd"

  echo '1234$var' #这种情况下将输出 1234$var

  echo 1234$var #这种情况下将输出 1234abcd

  echo "1234$var" #这种情况下将输出 1234abcd

  不使用引号时的限制

  在不使用引号输出字符串的情况下,无法显示分号(;),因为分号在Bash中被用作命令定界符。使用单引号或者双引号可以输出分号。

  代码如下:

  echo hello;hello #第一个hello被当成字符串输出,第二个被当成命令

  printf终端打印

  printf使用的参数和C语言中的printf函数一样,使用引用文本或由空格分隔的参数。在printf函数中,我们可以使用格式化字符串,指定字符串的宽度、左右对齐方式等。在默认情况下,printf不会在行尾添加换行符,需要手动添加。

   代码如下:

  printf "Hello world" #使用引用字符

  printf "%-5s %-10s %-4sn" No Name Mark #指定宽度及左对齐方式

  printf "%-5s %-10s %-4sn" 1 Sarath 80.3456

  工作原理

  %s,%c,%d,%f都是格式替换字符,其所对应的参数可以置于带引号的格式字符串之后。

  %-5s指明了一个格式为左对齐且宽度为5的字符串替换,-表示左对齐,若不指定对齐方式,则默认采用右对齐方式。宽度指定了保留给某个变量的字符数,如果要输出的内容宽度不足,则用空格填充,若多于指定宽度,则超出部分被丢弃。

  %4.2f表示指定小数可以保留两个小数位,要注意的是4并不代表整数部分的位数,也不代表整数位和小数位的和。

  注意:使用echo和printf的命令选项时,要保证选项出现在命令行内所有字符串之前,否者Bash会将选项视为另一个字符串。

  补充内容

  在echo中使用转义字符

  在默认情况下,echo会自动在输出字符串末尾添加换行符,可以使用-n选项来忽略结尾的换行符。echo同样接受双引号字符串内的转义序列作为参数。如果需要使用转义序列,则采用echo -e “包含转义序列的字符串”这种形式,在ubuntu14.04中,不需要添加-e选项,若添加,则-e选项会被作为字符串的一部分输出。

      代码如下:

  echo "Hello World" #将在末尾添加换行符

  echo -n "Hello Wordl" #末尾不会添加换行符

  echo -e "1t2t3" #将输出 -e 1 2 3

  echo "1t2t3" #将输出1 2 3

  打印彩色输出

  在终端中生成颜色输出,有助于我们从大量文本中快速定位特定的信息,我们可以使用转义序列来实现颜色输出。

  每种文本颜色都有对应的颜色码。


   代码如下:

  echo -e "e[1;31m This is red text e[0m"

  echo -e "e[1;41m This is red background e[0m"

  #ubuntu14.04不支持这种方式改变文本或者背景颜色

时间: 2024-12-31 00:24:06

Linux Shell脚本系列教程(二):终端打印命令详解的相关文章

Linux Shell脚本系列教程(一):Shell入门

  这篇文章主要介绍了Linux Shell脚本系列教程(一):Shell入门,本文讲解了Shell简介.Shell基本操作.如何打开Shell终端.Shell脚本的概念.如何运行Shell脚本.Shell脚本的注释等基础知识,需要的朋友可以参考下 一.Shell简介 诸多类Unix操作系统的设计令人惊叹.即便是在数十年后的今天,Unix式的操作系统架构仍是有史以来最佳的设计之一.这种架构最重要的一个特性就是命令行界面或者shell.shell环境使得用户能与操作系统的核心功能进行交互.术语脚本

Linux Shell脚本系列教程(三):变量和环境变量

  这篇文章主要介绍了Linux Shell脚本系列教程(三):变量和环境变量,本文讲解了普通变量.获取字符串的长度.环境变量等内容,需要的朋友可以参考下 一.玩转变量和环境变量 变量是任何一种编程语言都必不可少的组成部分,用于存放各种类型的变量.脚本语言大多是弱类型语言(动态语言),也就是说在使用变量时,不需要事先声明变量的类型,只需要直接赋值就可以.在Bash中,每一个变量的值都是字符串.无论你给变量赋值时有没有使用引号,值都会以字符串的形式存储.有一些特殊的变量会被shell环境和操作系统

Linux Shell脚本系列教程(四):使用函数添加环境变量

  这篇文章主要介绍了Linux Shell脚本系列教程(四):使用函数添加环境变量,本文对环境变量的一知识作了介绍,并给出普通添加环境变量和使用函数添加环境变量的方法,需要的朋友可以参考下 一.简介 环境变量通常用于存储路径列表,这些路径用于搜索可执行文件.库文件等.例如:$PATH.$LD_LIBRARY_PATH,它们通常看起来像这样: 代码如下: PATH=/usr/bin;bin LD_LIBRARY_PATH=/usr/lib;lib 这意味着只要shell需要运行二进制可执行文件时

Linux Shell脚本系列教程(六):数组和关联数组

  这篇文章主要介绍了Linux Shell脚本系列教程(六):数组和关联数组,本文讲解了什么是数组和关联数组.定义打印普通数组.定义打印关联数组等内容,需要的朋友可以参考下 一.数组和关联数组 数组是Shell脚本非常重要的组成部分,它借助索引将多个独立的独立的数据存储为一个集合.普通数组只能使用整数作为数组索引,关联数组不仅可以使用整数作为索引,也可以使用字符串作为索引.通常情况下,使用字符串做索引更容易被人们理解.Bash从4.0之后开始引入关联数组. 二.定义打印普通数组 数组的方法有如

Linux Shell脚本系列教程(七):脚本调试

  这篇文章主要介绍了Linux Shell脚本系列教程(七):脚本调试,本文讲解了Bash内建调试功能和自定义调试功能等内容,需要的朋友可以参考下 一.调试脚本 调试功能是每一种编程语言都应该实现的重要特性之一,当出现一些始料未及的情况时,用它来生成脚本的运行信息,调试信息可以帮你弄清楚是什么原因使得程序发生崩溃或者行为异常. 二.Bash内建调试功能 使用Bash的内建调试功能,可以对整个脚本进行调试,也可以仅对脚本中的某些语句进行调试. #使用set -x和set +x对脚本的某一句进行调

Linux Shell脚本系列教程(五):数学运算

  这篇文章主要介绍了Linux Shell脚本系列教程(五):数学运算,本文讲解了使用let.(())和[]进行算术运算.使用expr进行算术运算.使用bc进行算术运算三种方法,需要的朋友可以参考下 在任何一种编程语言中,算术运算都是必不可少的,shell也不例外. 一. 使用let.(())和[]进行算术运算 可以使用普通变量赋值方法定义数值,这是,它会被保存为字符串.我们可以通过使用let.(()).[]等操作符,使得这些变量进行算术运算.例如: 代码如下: #!/bin/bash no1

Linux Shell脚本系列教程(二):终端打印命令详解_linux shell

终端打印 终端是交互式工具,用户可以通过它与shell环境进行交互.在终端中打印文本是大多数shell脚本和工具日常需要执行的基本任务.通过终端打印,人们可以知道系统的运行状态,这对用户来说是至关重要的. echo终端打印 复制代码 代码如下: echo "Welcome to Bash" echo 'Welcome to Bash' echo  Welcome to Bash 以上三种方法的效果是一样的,输出内容都是"Welcome to Bash",并在末尾添加

Linux Shell脚本系列教程(一):Shell入门_linux shell

一.Shell简介 诸多类Unix操作系统的设计令人惊叹.即便是在数十年后的今天,Unix式的操作系统架构仍是有史以来最佳的设计之一.这种架构最重要的一个特性就是命令行界面或者shell.shell环境使得用户能与操作系统的核心功能进行交互.术语脚本更多涉及的便是这种环境.编写脚本通常使用某种基于解释器的编程语言.shell脚本本质上就是一些文本文件,我们可以将一系列需要执行的命令写入其中,然后通过shell来执行. 在这里我们介绍的是Bash shell(Bourne Again Shell)

Linux Shell脚本系列教程(六):数组和关联数组_linux shell

一.数组和关联数组 数组是Shell脚本非常重要的组成部分,它借助索引将多个独立的独立的数据存储为一个集合.普通数组只能使用整数作为数组索引,关联数组不仅可以使用整数作为索引,也可以使用字符串作为索引.通常情况下,使用字符串做索引更容易被人们理解.Bash从4.0之后开始引入关联数组. 二.定义打印普通数组 数组的方法有如下几种: 复制代码 代码如下: #在一行上列出所有元素 array_var=(1 2 3 4 5 6) #以"索引-值"的形式一一列出 array_var[0]=&q