linux中if条件判断语句(linux if条件判断)-编程知识网

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语句更加简单,一般用于多项选择(仅适用于字符串匹配),支持通配符。