Shell脚本学习记录(常见指令)

Shell echo命令

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

echo string

1.显示普通字符串:

echo "It is a test" //双引号省略效果相同

2.显示转义字符

echo "\"It is a test\""

3.显示变量

read 命令(类似C语言的scanf)从标准输入中读取一行,并把输入行的每个字段的值指定给 shell 变量

#!/bin/bash


read cmd
echo "${cmd} It is a test"

4.显示换行

#!/bin/bash

echo -e "OK! \n"      # -e开启转义
echo "It is a test"

Shell脚本学习记录(常见指令)_第1张图片

 5.显示不换行

#!/bin/sh
echo -e "OK! \c" # -e 开启转义 \c 不换行
echo "It is a test"

6.显示结果定向至文件

echo "It is a test" > myfile

 Shell脚本学习记录(常见指令)_第2张图片

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

echo '$name\"'

 8.显示命令执行结果

echo `date`

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

结果将显示当前日期

 Shell printf 命令

printf 由 POSIX 标准所定义,因此使用 printf 的脚本比使用 echo 移植性好。

printf 使用引用文本或空格分隔的参数,外面可以在 printf 中使用格式化字符串,还可以制定字符串的宽度、左右对齐方式等。默认的 printf 不会像 echo 自动添加换行符,我们可以手动添加 \n。

printf 命令的语法:

printf  format-string  [arguments...]

参数说明:

  • format-string: 为格式控制字符串
  • arguments: 为参数列表。
echo "Hello, Shell"
Hello, Shell

printf "Hello, Shell\n"
Hello, Shell

高级用法

#!/bin/bash
#print用法

printf "%-10s %-8s %-4s\n" 姓名 性别 体重kg
printf "%-10s %-8s %-4.2f\n" 小明 男 66
printf "%-10s %-8s %-4.2f\n" 小峰 男 77
printf "%-10s %-8s %-4.2f\n" 小红 女 41

Shell脚本学习记录(常见指令)_第3张图片

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

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

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

 Shell脚本学习记录(常见指令)_第4张图片

Shell脚本学习记录(常见指令)_第5张图片 

printf 的转义序列

Shell脚本学习记录(常见指令)_第6张图片

 Shell test

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

Shell脚本学习记录(常见指令)_第7张图片

#!/bin/bash
#print用法

num1=100
num2=100;
if test $[num1] -eq $[num2]
then
        echo '两个数相等!'
else
        echo '两个数不等!'
fi

代码中的 [] 执行基本的算数运算

 字符串测试Shell脚本学习记录(常见指令)_第8张图片

 文件测试

Shell脚本学习记录(常见指令)_第9张图片

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

参考:Shell test 命令 | 菜鸟教程 (runoob.com)

你可能感兴趣的:(Linux系统编程,知识储备,学习,linux,php)