linux 下shell中if的“-e,-d,-f”
shell教程参考:
http://www.beylze.cn/shell/
http://www.beylze.com/shell/
http://manual.51yip.com/
http://www.beylze.cn/
1、文件表达式
-e filename 如果 filename存在,则为真 -d filename 如果 filename为目录,则为真 -f filename 如果 filename为常规文件,则为真 -L filename 如果 filename为符号链接,则为真 -r filename 如果 filename可读,则为真 -w filename 如果 filename可写,则为真 -x filename 如果 filename可执行,则为真 -s filename 如果文件长度不为0,则为真 -h filename 如果文件是软链接,则为真 filename1 -nt filename2 如果 filename1比 filename2新,则为真。 filename1 -ot filename2 如果 filename1比 filename2旧,则为真。
2、整数变量表达式
-eq 等于 -ne 不等于 -gt 大于 -ge 大于等于 -lt 小于 -le 小于等于
3、字符串变量表达式
If [ $a = $b ] 如果string1等于string2,则为真 字符串允许使用赋值号做等号 if [ $string1 != $string2 ] 如果string1不等于string2,则为真 if [ -n $string ] 如果string 非空(非0),返回0(true) if [ -z $string ] 如果string 为空,则为真 if [ $sting ] 如果string 非空,返回0 (和-n类似)
4、逻辑表达式
逻辑非 ! (条件表达式的相反) if [ ! 表达式 ] if [ ! -d $num ] 如果不存在目录$num 逻辑与 –a (条件表达式的并列) if [ 表达式1 –a 表达式2 ] 逻辑或 -o (条件表达式的或) if [ 表达式1 –o 表达式2 ]
5、Ctrl+c、Ctrl+z、Ctrl+d
在Linux系统中,Ctrl+c和ctrl+z都是bai中断命令,但是他们的作用却不du一样zhi.
Ctrl+c是强制中断程序的执行,,进程已经终止
Ctrl+z是将dao任务中止(暂停的意思)。
此时此任务并没有结束,仍然在进程中他只是维持挂起的状态。用户可以使用fg/bg操作继续前台或后台的任务,fg命令重新启动前台被中断的任务,bg命令把被中断的任务放在后台执行.
Ctrl+d 不是发送信号,而是表示一个特殊的二进制值,表示 EOF。
6、什么时候不适合使用Shell编程
-
资源紧张的项目,特别是那些速度是重要因素的地方(排序,散序,等等)
-
程序要进行很复杂的数学计算,特别是浮点计算,任意精度的计算,或者是复数计算(应该用C++或是FORTRAN代替)
-
要求交叉编译平台的可移植性(使用C或者是Java代替)
-
需要结构化编程的复杂应用(需要变量类型检查和函数原型等等)
-
对于影响系统全局性的关键任务应用。
-
安全非常重要。你必须保证系统完整性和抵抗入侵,攻击和恶意破坏。
-
项目由连串的依赖的各个部分组成。
-
多种文件操作要求(Bash被限制成文件顺序存取,并且是以相当笨拙,效率低下的逐行的存取方式)
-
需要良好的多维数组支持。
-
需要类似链表或树这样的数据结构。
-
需要产生或操作图象或图形用户界面。
-
需要直接存取系统硬件。
-
需要端口号或是socket I/O。
-
需要使用可重用的函数库或接口。
-
所有的私有的不开源的应用程序(Shell脚本的源代码是直接可读,能被所有人看到的)
原文链接:https://blog.csdn.net/superbfly/article/details/49274889
相关文章
- Shell脚本中,如何判断Linux系统是32位还是64位?
- Linux MTD系统剖析
- linux shell 脚本攻略学习5---find命令详解
- Linux下使用crontab执行一个shell脚本
- Linux - 执行命令与脚本
- Linux Shell脚本自动化编程实战- shell并发
- Linux shell判断文件和文件夹是否存在
- 【Oracle 集群】Linux下Oracle RAC集群搭建之基本测试与使用(九)
- linux shell 脚本攻略学习9--rename命令详解
- Linux Shell脚本自动化编程实战- shell内置命令 break、continue
- linux shell for while if case break continue echo test 及算术运算符 关系运算符 布尔运算符 逻辑运算符 字符串运算符 文件测试运算符
- Linux下复制粘贴快捷键
- L74.linux命令每日一练 -- 第十章 Linux网络管理命令 -- nmap和tcpdump
- Linux下shell脚本之双色球摇号脚本
- Linux的shell脚本实战之while循环
- linux系统,shell中if参数“-e,-d,-f”等的含义
- linux/windows上的端口转发 —— 筑梦之路
- linux下,r语言的卸载
- Linux/Android下获取当前进程ID、进程名、进程路径
- Shell脚本运行hive语句 | hive以日期建立分区表 | linux schedule程序 | sed替换文件字符串 | shell推断hdfs文件文件夹是否存在
- LEADTOOLS SDK 22.0 UPDATE WIN/LINUX/MAC/Android
- Linux tips: shell中启动多进程并行批处理的技巧
- 初识Linux Bash Shell
- 使用wget批量下载geo数据集的全部文件 linux下载geo数据 geo处理的数据不是下载原始数据 Linux如何下载ftp文件 geo ftp geo ftp下载 geo下载
- linux 下shell中if的“-e,-d,-f”是什么意思