echo

echo命令介绍

linux的echo命令, 在shell编程中极为常用, 在终端下打印变量value的时候也是常常用到的, 因此有必要了解下echo的用法

echo命令的功能是在显示器上显示一段文字,一般起到一个提示的作用。
该命令的一般格式为: echo [ -n ] 字符串
其中选项n表示输出文字后不换行;字符串能加引号,也能不加引号。用echo命令输出加引号的字符串时,将字符串原样输出;用echo命令输出不加引号的字符串时,将字符串中的各个单词作为字符串输出,各字符串之间用一个空格分割。

功能说明:显示文字。
语   法:echo [-ne][字符串]或 echo [--help][--version]
补充说明:echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。


参   数:

-n 不要在最后自动换行
-e 若字符串中出现以下字符,则特别加以处理,而不会将它当成一般


文字输出:
   \a 发出警告声;
   \b 删除前一个字符;
   \c 最后不加上换行符号;
   \f 换行但光标仍旧停留在原来的位置;
   \n 换行且光标移至行首;
   \r 光标移至行首,但不换行;
   \t 插入tab;
   \v 与\f相同;
   \\ 插入\字符;
   \nnn 插入nnn(八进制)所代表的ASCII字符;
–help 显示帮助
–version 显示版本信息

Shell 脚本的编写

l Shell 脚本是纯文本文件,可以使用任何文本编辑器编写

l Shell 脚本通常是以 .sh 作为后缀名

 

 Shell 脚本的执行

chmod +x script_name

./script_name

bash script_name

 

 Shell 脚本的格式

u 第一行:指定用哪个程序来编译和执行脚本。

#!/bin/bash

#!/bin/sh

#!/bin/csh

 

 可执行语句和 shell 控制结构

一个 shell 脚本通常由一组 Linux 命令、shell 命令、控制结构和注释语句构成。

 注释以 “ # ” 开头,可独占一行,或跟在语句的后面。

 

 

 

echo    $!返回值

注意:如果返回值是0,就是执行成功;如果是返回值是0以外的值,就是失败。

 

 

105045_ZCmd_3803405.png

返回值为0,说明上一步执行正确

105215_5GA3_3803405.png

当一个进程执行完毕时,该进程会调用一个名为 _exit 的例程来通知内核它已经做好“消亡”的准备了。该进程会提供一个退出码(一个整数)表明它准备退出的原因。按照惯例,0用来表示正常的或者说“成功”的终止。

测试表达式的值

一、 内置测试命令 test

 

l 通常用 test 命令来测试表达式的值

x=5; y=10

test $x -gt $y

echo $?

l test 命令可以用 方括号 来代替

x=5; y=10

[ $x -gt $y ]               方括号前后要留空格!

echo $?

 

.x 版本以上的 Bash 中可以用双方括号来测试表达式的值,此时可以使用通配符进行模式匹配

name=Tom

[ $name = [Tt]?? ]

echo $?

[[ $name = [Tt]?? ]]

echo $?

 

三、 字符串测试              操作符两边必须留空格!

[ -z str ]

如果字符串 str 长度为 0,返回真

[ -n str ]

如果字符串 str 长度不为 0,返回真

[ str1 = str2 ]

两字符串相等

[ str1 != str2 ]

两字符串不等

name=Tom; [ -z $name ]; echo $?

name2=Andy; [ $name = $name2 ] ; echo $?

整数测试

q 整数测试,即比较大小

[ int1 -eq int2 ]

 int1 等于 int2

[ int1 -ne int2 ]

 int1 不等于 int2

[ int1 -gt int2 ]

 int1 大于 int2

[ int1 -ge int2 ]

 int1 大于或等于 int2

[ int1 -lt int2 ]

 int1 小于 int2

[ int1 -le int2 ]

 int1 小于或等于 int2

x=1; [ $x -eq 1 ]; echo $?

 

q 整数测试也可以使用 let 命令或双圆括号

l 相应的操作符为:                                 只能用于整数测试!

== != > >= < <=

l 例:x=1; let "$x == 1"; echo $?

x=1; (($x+1>= 2 )); echo $?

q 两种测试方法的区别

l 使用的操作符不同

l let 和 双圆括号中可以使用算术表达式,而中括号不能

l let 和 双圆括号中,操作符两边可以不留空格

逻辑测试

[ expr1 -a expr2 ]

逻辑,都为真时,结果为真

[ expr1 -o expr2 ]

逻辑,有一个为真时,结果为真

[ ! expr ]

逻辑

x=1; name=Tom;

[ $x -eq 1 a –n $name ]; echo $?

 

注:不能随便添加括号,下面是错误的

[ ( $x -eq 1 ) a ( –n $name ) ]; echo $?

 

 

 

 

转载于:https://my.oschina.net/u/3803405/blog/1825782

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值