linux中“if的”含义是什么?
含义:
1、if 条件判断关键字。
2、 语法要求。
3、-f 文件比较运算符,如果 filename为常规文件,则为真 。
4、$home 取变量的值,如果.sh文件里面没有该就是则会取用户系统变量!你可以在终端中执行一下 echo $home 看看是什么路径。
5、$1 取输入的第一个参数.例: sh xxx.sh 111 那么此时 $1的值就是 111。
linux中怎么用if比较两个文件之间有重复的?
#include<stdio.h>#define N 256int main() { char *p,buffer,str1,str,str2; FILE *fp; int n,i;if ( fp=fopen("data1.txt","r") ) {n=0;while ( !feof(fp) ) {fgets(buffer,255,fp);sscanf(buffer,"%s%s%s%s%s%s%s",str,str,str,str,str1,str,str);n++; if ( n>=N ) break;}fclose(fp);
} else printf("Cannot open data1.txtn")
;if ( fp=fopen("data2.txt","r") ) {while ( !feof(fp) ) {fgets(buffer,255,fp);sscanf(buffer,"%s%s%s%s%s%s%s%s%s%s%s%s%s%s", str,str,str,str,str,str,str,str,str,str,str,str2,str,str);p=str2; while ( *p ) p++; p–; *p=0;for ( i=0;i<n;i++ ) if ( strcmp(str1,str2+1)==0 ) puts(buffer); }fclose(fp);
} else printf("Cannot open data2.txtn");return 0;}
Linux下简单的判断目录中是否有新文件的Shell?
因shell还不是很熟练,所以做此笔记,方便查看。
#!/bin/sh
myPath=”/var/log/httpd/”
myFile=”/var/log/httpd/access.log”
#这里的-x参数判断$myPath是否存在并且是否具有可执行权限
if;then
mkdir”$myPath”
fi
#这里的-d参数判断$myPath是否存在
if;then
mkdir”$myPath”
fi
#这里的-f参数判断$myFile是否存在
if;then
touch”$myFile”
fi
#其他参数还有-n,-n是判断一个变量是否是否有值
if;then
echo”$myVarisempty”
exit0
fi
#两个变量判断是否相等
if;then
echo’$var1eq$var2′
else
echo’$var1noteq$var2′
fi
========================================
shell判断语句
流程控制”if”表达式如果条件为真则执行then后面的部分:if….;then
….
elif….;then
….
else
….
fi
大多数情况下,可以使用测试命令来对条件进行测试。比如可以比较字符串、判断文件是否存在及是否可读等等… 通常用””来表示条件测试。注意这里的空格很重要。要确保方括号的空格。
:判断是否是一个文件
:判断/bin/ls是否存在并有可执行权限
:判断$var变量是否有值
:判断$a和$b是否相等-rfile 用户可读为真
-wfile 用户可写为真
-xfile 用户可执行为真
-ffile 文件为正规文件为真
-dfile 文件为目录为真
-cfile 文件为字符特殊文件为真
-bfile 文件为块特殊文件为真
-sfile 文件大小非0时为真
-tfile 当文件描述符(默认为1)指定的设备为终端时为真
#########################################################
含条件选择的shell脚本
对于不含变量的任务简单shell脚本一般能胜任。但在执行一些决策任务时,就需要包含if/then的条件判断了。shell脚本编程支持此类运算,
包括比较运算、判断文件是否存在等。基本的if条件命令选项有:-eq—比较两个参数是否相等(例如,if)
-ne—比较两个参数是否不相等
-lt—参数1是否小于参数2
-le—参数1是否小于等于参数2
-gt—参数1是否大于参数2
-ge—参数1是否大于等于参数2
-f—检查某文件是否存在(例如,if)
-d—检查目录是否存在
几乎所有的判断都可以用这些比较运算符实现。脚本中常用-f命令选项在执行某一文件之前检查它是否存在。##################################################################判断文件是否存在
#!/bin/sh
today=`date-dyesterday+%y%m%d`
file=”apache_$today.tar.gz”
cd/home/chenshuo/shell
if;then
echo”OK”
else
echo”error$file”>error.log
mail-s”failbackupfromtest”linuxcy@126.comfi
linux中if与case的区别?
流程控制是编程语言基础中的基础,if语句和case语句一起实现了程序语言的三种结构(顺序结构、分支结构、循环结构)之一的分支结构。简单说,if语句判断了条件的真假,定义了条件为真做什么(,为假做什么)。
同样作为分支顺序语句,case与if存在一定差别。case语句只能判断一种条件的不同关系,而if语句可以判断多种条件关系。但在一种条件的不同关系判断中,case语句更加简单,一般用于多项选择(仅适用于字符串匹配),支持通配符。