linux 下 Shell编程(三)
if语句应用实例
if语句可以在程序中实现各种逻辑判断。
用if语句判断并显示文件的信息
可以用test命令和相关的参数来判断文件的属性,然后根据判断结果输出文件的信息。

#!/bin/bash
#4.9.sh
if test -w $1 #判断文件是否可写
then echo "writeable" #可写时输出
else
echo "unwriteable" #不可写时输出
fi #fi结束if语句
if test -x $1 #判断是否可执行
then echo "excuteable" #可执行时输出
else
echo "unexcuteable" #不可执行时输出
fi

chomd +x 4.9.sh 给文件添加权限
if语句嵌套实例


#1!/bin/bash
#4.10.sh
if test -z $1 #测试是否输入了文件名
then echo 'please input a file name' #没有输出文件名则输出文件名则输出提示
else #有文件名的情况
if test -w $1 #测试文件是否可写
then echo "writeable"
else #不可写的输出
echo "unwriteable"
fi
if test -x $1 #文件是否可以执行
then echo "excuteable"
else
echo "unexcuteable" #不能执行时的输出
fi
if #if 语句的结束
for语句
for语句是一种常用的循环语句,实现在一个值列表中的循环功能。
for 变量 in 列表
do
命令1
命令2...
....
done

#!/bin/bash
#4.12.sh for
for char in a s d f g #开始for循环
do #循环体
echo $char
done #结束for循环

当for语句省略后面的in关键字时,将接受输入命令时的参数作为循环变量集。


linux 下 Shell编程(三)的更多相关文章
- Linux 下shell 编程学习脚手架
linux body { font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 1.6; padding-t ...
- Linux下Shell编程
Linux的shell编程 1.什么是shell? 当一个用户登录Linux系统之后,系统初始化程序init就为每个用户执行一个称为shell(外壳)的程序. shell就是一个命令行解释器,它为用户 ...
- linux下shell编程示例-获取进程id
今天初步学习了一下linux下的shell编程,简单记录一下测试用例 1.编辑shell脚本文件如下: #!/bin/bashecho "hello bash linux"echo ...
- Linux下shell编程实例
1. 推断一文件是不是块或字符设备文件.假设是将其复制到 /dev 文件夹下 read -p "input a file:" filename if [ -b $filename ...
- linux 下Shell编程(四)
for循环应用实例 for 循环可以对一个记录集中地数据依次集中地数据依次进行处理. #!/bin/bash #4.13.sh for clear #看下图区别 for((i=1:i<1 ...
- 06 Linux下Shell介绍
一.概述 每个人在成功登陆Linux后,系统会出现不同的提示符号,例如$,~,#等,然后你就可以开始输入需要的命令.若命令正确,系统就会依据命令的要求来执行,直到注销系统为止,在登陆到注销期间,输入的 ...
- .Neter玩转Linux系列之四:Linux下shell介绍以及TCP、IP基础
基础篇 .Neter玩转Linux系列之一:初识Linux .Neter玩转Linux系列之二:Linux下的文件目录及文件目录的权限 .Neter玩转Linux系列之三:Linux下的分区讲解 .N ...
- linux 下shell 编写脚本
linux 下shell 编写脚本: 1.程序结构练习:编写一个脚本,给定一个正整数,计算出这个数所有位的数字之和. 例如:程序给定输入123,那么应该返回1+2+3=6. 2.程序结构练习:编写一个 ...
- linux 下 poll 编程
poll 与 select 很类似,都是对描述符进行遍历,查看是否有描述符就绪.如果有就返回就绪文件描述符的个数将.poll 函数如下: #include <poll.h> int pol ...
随机推荐
- grep怎样匹配tab键
grep怎样匹配tab键 学习了:https://blog.csdn.net/qixinkui/article/details/2746433 1 grep -P '/t'; 2 awk '//t/' ...
- Android之——获取手机安装的应用程序
转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47114331 前几篇有关Android的博文中.向大家介绍了几个项目中经常使用的有 ...
- linux上MySQL改动password的各种方法,yc整理
MySQL改动password的各种方法 整理了下面四种在MySQL中改动rootpassword的方法,可能对大家有所帮助! 方法1: 用SET PASSWORD命令 mysql -uroot my ...
- js中数组的splice()方法
在数组中splice方法有增.删.该的多功能用处. var list = []; list.push(1); list.push(2); list.push(3); console.log(list) ...
- (二)Redis 笔记——发布&订阅、事务、数据库操作
1. Redis 发布订阅 1.1 概述 Redis 发布订阅(pub/sub)是一种消息通信模式:发送者(pub)发送消息,订阅者(sub)接收消息. Redis 客户端可以订阅任意数量的频道. 下 ...
- Linux 性能监控 —— Load Average
一. 简单介绍 top. uptime. cat /proc/loadavg 命令中 Load average: 4.90, 5.51, 5.77 整体含义: 正在执行的任务数量 + 排 ...
- 用C#实现XML和实体类之间序列化和反序列化相互转换
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.I ...
- RGB格式等比例缩放
原理为:将原始图像的每个像素通过一个比例关系式映射到相应的位置. /* lrgb: input 24bits rgb buffer srgb: output 24bits rgb buffer wid ...
- Google Chrome v48.0.2564.
http://www.pcpop.com/doc/1/1819/1819996.shtml 摘要:谷歌浏览器Chrome Stable 稳定版迎来例行升级,新版本号为v48.0.2564.82,上一版 ...
- c++ 宏 #val 在unicode下的使用。
#define CHECK(condition) cout<<check failed:<<#condition<<endl; 上面这句宏,当你 CHECK(myf ...