SHELL学习之条件判断与练习

条件判断

test "$a" == "$b" 等同于 [ "$a" == "$b" ]

[ "$a" =="$b" ] 等于
[ "$a" != "$b" ] 不等于
[ "$a" -eq "$b" ] 等于
[ "$a" -ne "$b" ] 不等于
[ "$a" -le "$b" ] 小于等于
[ "$a" -ge "$b" ] 大于等于
[ "$a" -gt "$b" ] 大于
[ "$a" -lt "$b" ] 小于
[ "$a" -ne "$b" -a "$a" -gt "$b" ] -a必须条件都满足
[ "$a" -ne "$b" -o"$a" -gt "$b" ] -a条件至少满足一个
[ -z "$a" ] 是否为空
[ -e "file" ] 是否存在
[ -f "file" ] 普通文件
[ -b "file" ] 块设备
[ -S "file" ] 套接字
[ -c "file" ] 字符设备
[ -L "file" ] 软链接

练习

  • 判断输入的数字是否在10以内
  1. 输入是否为空
  2. 是否在10以内
  3. 0<$a<10 --> yes
  4. $a<1 $a>10 --> no
#!/bin/bash
[ -z "$1" ] && {
    echo "please input a number!"
    exit 1
}
[ "$1" -gt "0" -a "$1" -lt "10" ] && {
    echo "YES"
}||{
    echo "NO"
}

  • 判断文件类型
#!/bin/bash
[ -z "$1" ] && {
    echo "please enter the file name!"
    exit 1
}
[ -e "$1" ] || {
        echo "This file does not exist!"
        exit 1
} 

[ -f "$1" ] && {
        echo "The file is a normal file."
} 
[ -b "$1" ] && {
        echo "The file is a block device."
}  
[ -S "$1" ] && {
        echo "The file is a socket."
} 
[ -c "$1" ] && {
        echo "The file is a character device.0"
}  
[ -L "$1" ] && {
        echo "The file is a soft link"
} 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Shell脚本是一种用来自动化任务和执行命令的脚本语言。学习Shell脚本可以帮助你简化重复性的工作,并提高工作效率。以下是一些学习Shell脚本的步骤和资源: 1. 了解ShellShell是一种命令行解释器,常见的有Bash、Zsh等。了解Shell的基本语法和常用命令是学习Shell脚本的基础。 2. 学习Shell脚本语法:Shell脚本由一系列命令组成,可用于编写自动化任务和批处理脚本。学习Shell脚本语法,包括变量、条件判断、循环、函数等。 3. 编写简单的脚本:开始时,可以从编写简单的Shell脚本开始,例如输出一些文本、执行一些命令等。通过实践,熟悉Shell脚本的基本语法和用法。 4. 学习Shell命令和工具:Shell脚本通常会使用许多Shell命令和工具来完成不同的任务。学习常用的命令和工具,例如grep、awk、sed等,可以帮助你更好地编写Shell脚本。 5. 阅读Shell脚本示例和文档:阅读其他人编写的Shell脚本示例和相关文档,可以帮助你学习更多的技巧和最佳实践。 6. 练习和实践:通过编写各种类型的Shell脚本来提高自己的熟练程度。练习可以是解决实际问题,也可以是完成一些小项目。 以下是一些学习Shell脚本的资源推荐: - Linux命令行与Shell脚本编程大全(书籍) - Shell 脚本教程(网上教程) - Shell 脚本编程(CSDN博客) - Advanced Bash-Scripting Guide(文档) - ShellCheck(Shell脚本静态分析工具) 希望这些信息对你学习Shell脚本有所帮助!如果你对具体的问题或者其他相关内容有进一步的需求,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值