Shell学习03--echo命令,printf命令,test命令
2021/8/7 7:09:39
本文主要是介绍Shell学习03--echo命令,printf命令,test命令,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
Shell的命令
- 1.Shell--echo命令
- 2.Shell--printf命令
- 3.Shell--test命令
1.Shell–echo命令
语法:
echo [-option] 字符串(String)
显示普通字符串
例子:
echo "This is Bunny's test" echo This is Bunny's test
双引号可以省略,实现效果与上方一致
echo的参数:
- -n 不要在最后换行
- -e 显示转义字符
- -E不显示转义字符(默认)
\a 发出警告声;
\b 删除前一个字符;
\c 最后不加上换行符号;
\f 换行但光标仍旧停留在原来的位置;
\n 换行且光标移至行首;
\r 光标移至行首,但不换行;
\t 插入tab;
\v 与\f相同;
\ 插入\字符;
\nnn 插入nnn(八进制)所代表的ASCII字符;
显示变量
举例:
在变量名之前加入$
name="BunnyDuudu" echo "$name is best"
进行转义字符测试
echo -e "OK! \c" # -e 开启转义 \c 不换行 echo "It is a test"
result:
OK! It is a test
显示结果定向至文件
把echo的输出写入test文件中
举例:
echo "This is a test" > file echo "This is a test" >> file
>会将文件中的原文字全部替换
>>会在文件原文字后追加,在最后写入
原样输出字符串,不进行转义或取变量(用单引号)
echo 'This is $name'
显示命令执行结果
echo `date`
显示date命令执行后的结果
echo后命令都得加` `反引号,而不是单引号
2.Shell–printf命令
参照C语言的printf()函数的格式来编写的,所以大部分操作和C语言一致
语法:
printf format-string [arguments…]
参数说明:
- format-string:需要控制的字符串
- arguments:输入的参数
printf中的转义字符:
序列 | 说明 |
---|---|
\a | 警告字符 |
\b | 后退一个字符 |
\c | 抑制(不显示)输出结果中任何结尾的换行字符(只在%b格式指示符控制下的参数字符串中有效),而且,任何留在参数里的字符、任何接下来的参数以及任何留在格式字符串中的字符,都被忽略(使换行符号失效) |
\f | 换页 |
\n | 换行 |
\r | 回车 |
\t | 水平字符 |
\\ | \字符 |
举例:
printf "%-10s %-8s %-4s\n" 姓名 性别 体重kg printf "%-10s %-8s %-4.2f\n" Alex 男 66.6666 printf "%-10s %-8s %-4.2f\n" Zed 男 31.415926 printf "%-10s %-8s %-4.2f\n" Martha 女 99.812345
%s
代表输入字符串参数
%f
代表输入浮点数参数
%d
代表整型参数
%-10s
(-左对齐,没有则右对齐),指一个宽度为10个字符(一个中文2字符)
-4.2f
表示一个左对齐一个宽度为4个字符且小数点后保留两位小数的浮点数
姓名 性别 体重kg Alex 男 66.12 Zed 男 48.65 Martha 女 47.99
3.Shell–test命令
用于检测某个条件是否成立,它可以进行数值、字符、文件三个方面的测试
数值测试:
参数 | 说明 |
---|---|
-eq | 等于则为真 |
-ne | 不等于则为真 |
-gt | 大于则为真 |
-ge | 大于等于则为真 |
-lt | 小于则为真 |
-le | 小于等于则为真 |
语法:if test $[num1] -eq $[num2]
字符串测试:
项目 | Value |
---|---|
= | 等于则为真 |
!= | 不相等则为真 |
-z | 字符串 字符串的长度为零则为真 |
-n | 字符串 字符串的长度不为零则为真 |
语法:if test $num1 = $num2
文件测试
参数 | 说明 |
---|---|
-e 文件名 | 如果文件存在则为真 |
-r 文件名 | 如果文件存在且可读则为真 |
-w 文件名 | 如果文件存在且可写则为真 |
-x 文件名 | 如果文件存在且可执行则为真 |
-s 文件名 | 如果文件存在且至少有一个字符则为真 |
-d 文件名 | 如果文件存在且为目录则为真 |
-f 文件名 | 如果文件存在且为普通文件则为真 |
-c 文件名 | 如果文件存在且为字符型特殊文件则为真 |
-b 文件名 | 如果文件存在且为块特殊文件则为真 |
语法:if test -e ./bash
这篇关于Shell学习03--echo命令,printf命令,test命令的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-27文件掩码什么意思?-icode9专业技术文章分享
- 2024-12-27如何使用循环来处理多个订单的退款请求,代码怎么写?-icode9专业技术文章分享
- 2024-12-27VSCode 在编辑时切换到另一个文件后再切回来如何保持在原来的位置?-icode9专业技术文章分享
- 2024-12-27Sealos Devbox 基础教程:使用 Cursor 从零开发一个 One API 替代品 审核中
- 2024-12-27TypeScript面试真题解析与实战指南
- 2024-12-27TypeScript大厂面试真题详解与解析
- 2024-12-26怎么使用nsenter命令进入容器?-icode9专业技术文章分享
- 2024-12-26导入文件提示存在乱码,请确定使用的是UTF-8编码怎么解决?-icode9专业技术文章分享
- 2024-12-26csv文件怎么设置编码?-icode9专业技术文章分享
- 2024-12-25TypeScript基础知识详解