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 ...
随机推荐
- CocoSourcesCS 4
/*------------------------------------------------------------------------- ParserGen.cs -- Generati ...
- Sublime Theme
Package Control Messages======================== Theme - Spacegray----------------- Thanks for insta ...
- Spine U3D整合流程问题
Spine U3D整合流程问题 What: 公司2d项目开发,动画外包的spine.本来在spine里面一切正常,但是导入u3d运行库的时候动画切换的时候原来的动画是好的,一旦切换了就乱帧了. 如下结 ...
- @Autowired与@Resource的使用方法和差别
一.@Autowired: 1.Spring 2.5 引入了 @Autowired 凝视,它能够对类成员变量.方法及构造函数进行标注,完毕自己主动装配的工作. 通过 @Autowired的使用来消除 ...
- linux/unix核心设计思想
1) 程序应该小而专一,程序应该尽量的小,且仅仅专注于一件事上.不要开发那些看起来实用可是90%的情况都用不到的特性: 2) 程序不仅仅要考虑性能, 程序的可移植性更重要,shell和perl.pyt ...
- LIME:模型预測结果是否值得信任?
花了一天时间对LIME论文:http://arxiv.org/pdf/1602.04938v1.pdf 细致阅读和代码阅读,实验.大体理解了作者的设计思路. 背景: 我们在建立模型的时候,常常会思考我 ...
- UnrealEngine4.5 BluePrint初始化中遇到编译警告的解决办法
今天遇到一个问题,如下图: 假如你在一个BP的初始化脚本里用了"Get Player Character",编译BP时候就会遇到上述警告(Warning Function ' Ge ...
- 简单模拟Spring的注入
主要就是读XML技术和反射技术. 在xml中读出相关配置信息,然后利用反射将其实例化为对象,并调用其构造方法,在实例化的过程中将属性注入实例. 实例化和属性注入这些操作都交给了框架,不再需要自己的去n ...
- (转)java 打印自身代码——真实世界不存在自指
public class SelfPrint { public static void main(String args[]) { char s = 34; ...
- IDC机房与阿里云vpc网络建立高速通道
本操作以下图所示的场景为例,演示如何通过高速通道建立本地数据中心与VPC之间的私网通信. 前提条件 已提交工单获取接入点的地理位置. 步骤一: 申请物理专线并完成专线接入 登录高速通道管理控制台. 在 ...