Shell echo、printf、test命令

目录

[Shell echo命令](#Shell echo命令)

打印文本消息

显示变量值

输出特殊字符

输出到文件

追加到文件

[Shell printf 命令](#Shell printf 命令)

打印简单文本

[Shell test 命令](#Shell test 命令)

文件测试

字符串比较

整数比较

逻辑运算


Shell echo命令

打印文本消息

复制代码
echo "Hello, World!"

显示变量值

复制代码
name="Alice"
echo "My name is $name"

输出特殊字符

\t :代表制表符(Tab键)、\n:代表换行符;

复制代码
echo "New\t line\n"

输出到文件

这将把 "Hello, File!" 输出到名为 output.txt 的文件中,如果文件存在则覆盖内容。

复制代码
echo "Hello, File!" > output.txt

追加到文件

这将把 "More content" 追加到 output.txt 文件末尾。

复制代码
echo "More content" >> output.txt

Shell printf 命令

当你使用Shell中的printf命令时,它可以帮助你格式化和输出文本。

打印简单文本

这将简单地打印字符串"Hello, World!",并在末尾添加一个换行符\n来换行。

复制代码
printf "Hello, World!\n"

Shell test 命令

当你使用Shell中的test命令时,它用于测试条件是否为真(True)。test命令通常用于Shell脚本中的条件判断,以便根据条件的结果执行不同的操作。

文件测试

用于测试文件和目录的属性

-e 文件:检查文件是否存在。

-f 文件:检查文件是否是一个常规文件。

-d 文件:检查文件是否是一个目录。

-s 文件:检查文件是否不为空(即文件大小是否大于零)。

-r 文件:检查文件是否可读。

-w 文件:检查文件是否可写。

-x 文件:检查文件是否可执行。

示例:

复制代码
if [ -e "myfile.txt" ]; then
    echo "文件存在"
fi

字符串比较

用于测试字符串的内容

字符串1 = 字符串2:检查两个字符串是否相等。

字符串1 != 字符串2:检查两个字符串是否不相等。

-n 字符串:检查字符串是否非空。

-z 字符串:检查字符串是否为空。

示例:

复制代码
if [ "$name" = "Alice" ]; then
    echo "姓名是Alice"
fi

整数比较

用于测试整数值

整数1 -eq 整数2:检查两个整数是否相等。

整数1 -ne 整数2:检查两个整数是否不相等。

整数1 -lt 整数2:检查整数1是否小于整数2。

整数1 -le 整数2:检查整数1是否小于或等于整数2。

整数1 -gt 整数2:检查整数1是否大于整数2。

整数1 -ge 整数2:检查整数1是否大于或等于整数2。

示例:

复制代码
if [ $age -lt 18 ]; then
    echo "年龄小于18岁"
fi

逻辑运算

用于进行逻辑操作

! 表达式:逻辑非,取反操作。

表达式1 -a 表达式2:逻辑与,当两个表达式都为真时返回真。

表达式1 -o 表达式2:逻辑或,当两个表达式中至少有一个为真时返回真。

示例:

复制代码
if [ ! -e "file.txt" -a "$user" = "admin" ]; then
    echo "文件不存在且用户是管理员"
fi
相关推荐
~狂想家~5 分钟前
Ubuntu20.04安装和配置Samba实现Win11下共享文件夹
linux·ubuntu·samba
ansondroider9 分钟前
Ubuntu 抽取系统制作便于chroot的镜像文件
linux·ubuntu·chroot
羚羊角uou34 分钟前
【Linux】编辑器vim和编译器gcc/g++
linux·运维·编辑器
努力一点94841 分钟前
ubuntu22.04系统入门 linux入门 简单命令基础复习 实现以及实践
linux·运维·服务器·ubuntu·gpu算力
白鹭1 小时前
自动化备份全网服务器数据平台
运维·服务器·自动化
帅帅梓1 小时前
Linux性能检测与调优
linux·运维·php
van叶~1 小时前
Linux网络-------3.应⽤层协议HTTP
linux·网络·http
Wmenghu2 小时前
java获取电脑公网IP和内网IP
服务器·网络·tcp/ip
我不是程序猿儿2 小时前
【git】在 GitLab 上如何把 A 分支(如 feature/xxx)合并到 B 分支(如 trunk)
服务器·git·gitlab
慌糖2 小时前
Spring Boot音乐服务器项目-查询喜欢的音乐模块
服务器·spring boot·mybatis