SHELL脚本2(Linux网络服务器 23)

embedded/2024/12/5 2:49:33/
利用test检查文件权限

描述:输入一个已存在的文件名,检查该文件是否具有读写执行的权限。如果文件不存在要给予提醒。

#!/bin/bash
echo -e "Please input a filename,I will check the filename's type and perimission.\n\n"
read -p "Input a filename: " filename
test -z $filename && echo "You Must input a filename." && exit 0
test ! -e $filename && echo "The filename '$filename' Do Not exit" && exit 0
#判断文件类型和属性
test -f $filename && filetype="regulare file"
test -d $filename && filetype="directory"
test -r $filename && perm="readable"
test -w $filename && perm="$perm writeable"
test -x $filename && perm="$perm executable"echo "The filename: $filename is a $filetype"
echo "And the permissions are: $perm"

&& 和 || 在脚本中的应用

描述:在终端输入Y或N(y或n),提示是结束或者继续,输入的非Y、y、N、n,提示我不知道您选择的是什么。

#!/bin/bash
read -p "Please input (Y/N): " yn
[ "$yn" == "Y" -o "$yn" == "y" ] && echo "OK,continue" && exit 0
[ "$yn" == "N" -o "$yn" == "n" ] && echo "Oh,break" && exit 0
echo "I don't know what your choice is." && exit 0
条件语句
  • if …then …fi

语法:

if [条件判断式];then

当条件判断式成立时,可以进行的命令工作内容;

fi 将if反过来写,就是fi了,结束if的意思

案例:修改上述例子

#!/bin/bash
read -p "Please input (Y/N): " yn
if [ "$yn" == "Y" ] || [ "$yn" == "y" ]; thenecho "OK, continue"exit 0
fi
if [ "$yn" == "N" ] || [ "$yn" == "n" ] ; thenecho "oh, break"exit 0
fi
echo "I don't know what your choice is." && exit 0
  • if …then …else…fi

语法:

if [条件判断式];then

当条件判断式成立时,可以进行的命令工作内容;

else

当条件判断成立时,可以进行的命令工作内容;

fi

#!/bin/bash
read -p "请输入您的名字: " name
if [ "$name" != "" ]; thenecho "您的名字是:$name"exit 0
elseecho "您还没有输入自己的名" && exit 0
fi


http://www.ppmy.cn/embedded/142751.html

相关文章

webpack5开发环境、生产环境配置 (三)

开发环境:就是我们开发代码时使用的模式。 这个模式我们做两件事情: 1、编译代码,使浏览器能识别运行 2、代码质量检查,树立代码规范 生产环境:开发完成代码后,我们需要得到代码将来部署上线。 这个模式…

Mysql常用sql语句

数据库操作 # 创建数据库 create database 库名 charsetutf8; # 使用数据库 use 库名; # 退出数据库 quit # 查看所有数据库 show databases; # 查看当前使用的数据库 select database(); # 删除数据库 drop database 库名; 表操作 #查看当前数据库中所有表 show tables;#创…

2、Three.js初步认识场景Scene、相机Camera、渲染器Renderer三要素

三要素之间关系: 有了虚拟场景Scene,相机录像Camera,在相机小屏幕上看到的Renderer Scene当前空间 Mesh人在场景 Camera相机录像 Renderer显示器上 首先先描述下Scene: 这个场景为三要素之一,一切需要展示的东西都需…

【已解决】git push需要输入用户名和密码问题

解决方法: 1)查看使用的clone方式: git remote -v 2)若为HTTPS,删除原clone方式: git remote rm origin 3)添加新的clone方式: git remote add origin gitgithub.com:zludon/git_test.git …

用php 处理 xls和xlsx (简单版)

安装扩展 composer require phpoffice/phpspreadsheet引入扩展 use PhpOffice\PhpSpreadsheet\IOFactory; use PhpOffice\PhpSpreadsheet\Spreadsheet;导入到php,xls 和xlsx都可以 下面是简单示例,有很多可以优化的地方和格式导入 $inputFileNameD:\…

Qt5语法的connect指定多个重载信号槽函数中的具体某一个

Qt5新语法的connect函数,使用起来更加简洁明了,但如果信号槽有同名的多个重载函数,只用类名和函数名就无法绑定,这时,可以使用qOverload来指定参数类型,例如: connect(ui->comboBox, qOverlo…

23种设计模式之外观模式

目录 1. 简介2. 代码2.1 SelectFoodService (选择食品)2.2 PayService (支付服务)2.3 TakeService (制作服务)2.4 OrderService (下单服务)2.5 Food (食品)2.6 TackingSystem (外观类)2.7 Test (测试类) 3. 优缺点3. 总结 1. 简介…

Linux vi/vim

Linux vi/vim 所有的 Unix Like 系统都会内建 vi 文书编辑器,其他的文书编辑器则不一定会存在。 但是目前我们使用比较多的是 vim 编辑器。 vim 具有程序编辑的能力,可以主动的以字体颜色辨别语法的正确性,方便程序设计。 什么是 vim&…