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 ...
随机推荐
- MPTCP 源码分析(五) 接收端窗口值
简述: 在TCP协议中影响数据发送的三个因素分别为:发送端窗口值.接收端窗口值和拥塞窗口值. 本文主要分析MPTCP中各个子路径对接收端窗口值rcv_wnd的处理. 接收端窗口值的初始化 ...
- php解耦的三种境界
我们有三个类,Db,FileSystem,Session;实际业务需求要组合操作这三个类. 一.常规做法 class Db { public function read($id) { } } clas ...
- cocos2d-x 重力感应 加速器的使用
CSDN开通已有两三年,今天作为一名刚入行的菜鸟写下自己的第一篇Blog. 刚好项目中须要用到重力感应,google下发现重力感应的使用很easy. 例如以下: 第一步: 在当前层开启重力感应.函数: ...
- 更改字段、添加字段脚本以及sql回滚
--修改字段名称 EXEC sp_rename '[dbo].[SysMenu].[Type]', 'Position', 'COLUMN' --添加字段 alter table [dbo].[Age ...
- vb.net版机房收费——助你学会七层架构(二)反射+抽象工厂
上一篇咱们做好了准备工作.数据库设计和Entity层,如今介绍 4.反射+抽象工厂 反射:用来消除Switch和if的,这里我尽量简单地介绍,以便大家理解.反射其有用起来非常easy.你就觉得他就是决 ...
- MySql(一):linux 安装mysql数据库——yum安装法
mysql数据库有多种安装方式,本文只介绍在Linux服务器上最实用.最快捷的mysql server安装方法.一.Linux服务器yum安装(CentOS6.3 64位)所有在服务器上执行的命令,都 ...
- Subversion和TortoiseSVN安装与配置(转)
Subversion为版本控制软件的服务器端. TortoiseSVN为版本控制软件的客户端. 1.下载Subversion与TortoiseSVN. Subversion的地址:http://sub ...
- FPGA研发之道(25)-管脚
管脚是FPGA重要的资源之一,FPGA的管脚分别包括,电源管脚,普通I/O,配置管脚,时钟专用输入管脚GCLK等. 本文引用地址:http://www.eepw.com.cn/article/2664 ...
- 基于注解的Mybatis mapper 接口注意事项
基于注解的Mybatis mapper 接口功能没有mapper xml配置文件丰富,并且动态sql语句的灵活性不能和xml配置相比. 这里仅仅说一下基于注解的动态sql注意事项: Mybatis提供 ...
- jquery的ajax-serialize()
jQuery ajax - serialize() 方法 jQuery Ajax 参考手册 实例 输出序列化表单值的结果: $("button").click(function() ...