Linux--shell脚本语言—/—<3>

目录

一、shell基础语法

1、Shell echo命令

 1) 可以使用echo实现更复杂的输出格式控制。

2)显示转义字符

3) 显示变量

4) 显示换行

5)显示不换行

6)显示结果定向至文件

7)原样输出字符串,不进行转义或取变量(用单引号)

8)显示命令执行结果

2、Shell read命令

2.1 实例 1

2.2 实例2 只读取一个字符

2.3 在指定时间内输入密码

3、Shell printf命令

printf 命令的语法:

printf的转义序列:

4、Shell test命令

1) test命令

2) 实例1:

3) 实例2:

4) 字符串测试

5)文件测试


一、shell基础语法

1、Shell echo命令

        Shell 的 echo 指令与 PHP 的 echo 指令类似,都是用于字符串的输出。命令格式:

 1) 可以使用echo实现更复杂的输出格式控制。

显示普通字符串:

 这里的双引号完全可以省略,以下命令与上面实例效果一致:

2)显示转义字符

结果为:

同样,双引号也可以省略

3) 显示变量

read 命令从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量

以上代码保存为 test.sh,name 接收标准输入的变量,结果将是:

4) 显示换行

输出结果为:

5)显示不换行

输出结果:

6)显示结果定向至文件

7)原样输出字符串,不进行转义或取变量(用单引号)

输出结果为:

8)显示命令执行结果

注意: 这里使用的是反引号 `, 而不是单引号 '

2、Shell read命令

read命令:读取从键盘输入的数据

其用法为:

options表示选项,如下表所示;

variables表示用来存储数据的变量,可以有一个,也可以有多个。

options和variables都是可选的,如果没有提供变量名,那么读取的数据将存放到环境变量 REPLY 中。

Shell read 命令支持的选项

2.1 实例 1

结果为:

注意,必须在一行内输入所有的值,不能换行,否则只能给第一个变量赋值,后续变量都会赋值失败。

本例还使用了-p选项,该选项会用一段文本提示用户输入。

2.2 实例2 只读取一个字符

运行结果为:

        -n 1表示只读取一个字符。运行脚本后,只要用户输入一个字符,立即读取结束,不用等待用户按下回车键。

         printf "\n"语句用来达到换行的效果,否则 echo 的输出结果会和用户输入的内容位于同一行,不容易区分。

2.3 在指定时间内输入密码

        这段代码中,我们使用&&组合了多个命令,这些命令会依次执行,并且从整体上作为 if 语句的判断条件,只要其中一个命令执行失败(退出状态为非 0 值),整个判断条件就失败了,后续的命令也就没有必要执行了。

3、Shell printf命令

printf 命令的语法:

参数说明: format-string: 为格式控制字符串, arguments: 为参数列表。

实例:

        %s %c %d %f 都是格式替代符,%s 输出一个字符串,%d 整型输出,%c 输出一个字符,%f 输出实数,以小数形式输出。

        %-10s 指一个宽度为 10 个字符(- 表示左对齐,没有则表示右对齐),任何字符都会被显示在 10 个字符宽的字符内,如果不足则自动以空格填充,超过也会将内容全部显示出来。

        %-4.2f 指格式化为小数,其中 .2 指保留2位小数。

实例:

printf的转义序列:

4、Shell test命令

1) test命令

test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试

数值测试:

2) 实例1:

输出结果: 两个数相等!

代码中的 [ ] 执行基本的算数运算,实例2有讲解。

3) 实例2:

结果为: 

result 为: 11

4) 字符串测试

实例:

5)文件测试

实例:

另外,Shell 还提供了与( -a )、或( -o )、非( ! )三个逻辑操作符用于将测试条件连接起来,其优先级为: ! 最高, -a 次之, -o 最低。

例如:

  • 15
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

菜就多练_0828

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值