美文网首页
93.读鸟哥私房菜4|学习shell脚本3

93.读鸟哥私房菜4|学习shell脚本3

作者: 人生玩家Eli | 来源:发表于2022-11-15 22:08 被阅读0次
cover20220907.png

利用test指令的测试功能

  • 判断文件或文件夹是否存在:test -e ./eli && echo "Exist" || echo "Not exist"
  • 判断是否存在该文件:test -f ./eli && echo "Exist" || echo "Not exist"
  • 判断是否存在该文件夹:test -d ./eli && echo "Exist" || echo "Not exist"
  • 判断该文件(夹)是否具有可读权限:test -r ./eli && echo "Exist" || echo "Not exist"
  • 判断该文件(夹)是否具有可写权限:test -w ./eli && echo "Exist" || echo "Not exist"
  • 判断该文件(夹)是否具有可执行权限:test -x ./eli && echo "Exist" || echo "Not exist"
  • 判断字符串/变量是不是空串or空值,是的话,则为true,反之为false:test -z "" && echo "true" || echo "false"
  • 判断字符串/变量是不是空串or空值,是的话,则为false,反之为true(-n可省略):test -n "" && echo "true" || echo "false"

写个例子

#!/bin/bash

read -p "输入文件名 : " filename

# 判断文件名是否为空串
test -z ${filename} && echo "你需要输入一个名称." && exit 0

# 判断文件是否存在
test ! -e ${filename} && echo "文件 '${filename}' 不存在" && exit 0

# 判断是文件夹,还是文件
test -f ${filename} && filetype="文件"
test -d ${filename} && filetype="文件夹"

# 判断权限
test -r ${filename} && perm="可读"
test -w ${filename} && perm="${perm} 可写"
test -x ${filename} && perm="${perm} 可执行"

# 输出结果
echo "该名称: ${filename} 是一个 ${filetype}"
echo "权限如下: : ${perm}"

利用判断符号[]

使用中括号也可以判断变量是否为空或空串

常用于if语句

  • [ -z "eli" ] ; echo $? 用法与test命令类似
  • [ '${name}' = "eli" ] ; echo $?
    • 注意1:中括号里有4个空格,不能少。
    • 注意2:变量要用单引号引起来,字符串用双引号

写个例子

#!/bin/bash

read -p "请输入 (Y/N): " yn
# 使用-o表示"或"
[ "${yn}" == "Y" -o "${yn}" == "y" ] && echo "OK!" && exit 0
[ "${yn}" == "N" -o "${yn}" == "n" ] && echo "No!" && exit 0
echo "输入错误。" && exit 0

相关文章

  • 93.读鸟哥私房菜4|学习shell脚本3

    利用test指令的测试功能 判断文件或文件夹是否存在:test -e ./eli && echo "Exist" ...

  • linux系统管理员书单

    入门书: 《鸟哥的私房菜(基础篇)》 《鸟哥的私房菜(服务篇)》 《Linux命令行与Shell脚本编程大全(第2...

  • linux/shell 分析nginx日志

    一、学习资料 高级Bash脚本编程指南 LINUX与UNIX SHELL编程指南 鸟哥的Linux私房菜 IBM ...

  • 94.读鸟哥私房菜5|学习shell脚本4

    脚本参数($0,$1...) /path/to/scriptname opt1 opt2 opt3 $0表示第一部...

  • 90.读鸟哥私房菜3|学习shell脚本2

    例子 使用日期命名文件 变量赋值:等号左右不能有空格如果值中有空格,要用引号把值引起来 输出变量的值:echo $...

  • 第11章 认识与学习 bash

    第11章 认识与学习 bash 标签: 鸟哥的linux私房菜 [toc] 11.1认识bash这个shell 什...

  • Linux 运维入门到跑路书单推荐

    一、基础入门 《鸟哥的Linux私房菜基础学习篇》:最具知名度的Linux入门书《鸟哥的Linux私房菜基础学习篇...

  • 四.循环

    最近在看《鸟哥的LINUX私房菜 基础学习篇》,目前看到了shell脚本这一章,打算在这里简单记录一下这一整章的学...

  • 五.shell脚本的跟踪与调试

    最近在看《鸟哥的LINUX私房菜 基础学习篇》,目前看到了shell脚本这一章,打算在这里简单记录一下这一整章的学...

  • 二.善用判断式

    最近在看《鸟哥的LINUX私房菜 基础学习篇》,目前看到了shell脚本这一章,打算在这里简单记录一下这一整章的学...

网友评论

      本文标题:93.读鸟哥私房菜4|学习shell脚本3

      本文链接:https://www.haomeiwen.com/subject/xbtsxdtx.html