linuxif字符串比较
❶ linux shell中的如下比较字符串为什么比较不出来
能否提供下你的变量获取的代码?你的$line 和 $blockname 获取到的代码能贴下么?
最好能贴一下完整的代码,以便debug。
❷ linux c语言字符串比较问题
linux中,c语言字符串比较采用strcmp()函数
在linux命令行下,man strcmp,可以看到函数说明:
$manstrcmp
...
NAME
strcmp,strncmp-comparetwostrings
SYNOPSIS
#include<string.h>
intstrcmp(constchar*s1,constchar*s2);
DESCRIPTION
Thestrcmp().Itreturnsanintegerlessthan,equalto,orgreaterthanzeroifs1isfound,respectively,tobelessthan,tomatch,orbegreaterthans2.
strcmp函数比较两个字符串s1和s2.函数返回小于0,等于0,或大于0的整数,分别对应s1<s2,s1=s2,s1<s2.
比如 s1 = "good" s2="...this is good", 从s2取后四位进行两个字符串比较,代码如下:
#include<stdio.h>
#include<string.h>
intmain()
{
char*s1="good",*s2="...thisisgood";
intlen=strlen(s2);
if(len>=4)//如果串长超过4位,则移动指针到最后四位的位置
s2=s2+len-4;
printf("s2=%s ",s2);//输出移位后的字符串内容
printf("compares1,s2=%d ",strcmp(s1,s2));//输出0,表示相同
return0;
}
❸ 如何在linux kernel里比较两个字符串
只需要一个等号吧。
#!/bin/sh
var1="xxx"
var2="yyy"
if [ "$var1" = "$var2" ]; then
echo "The same!"
else
echo "Different!"
fi
❹ linux shell 如何比较两个整数的大小
linux shell比较两个整数的大小可以采用以下的代码:
#!/bin/sh
max=9
min=8
if [ $max -gt $min ]
then
echo 1
else
echo 0
fi
数字的比较:
-eq 相等(equal)
-ne 不等(not equal)
-gt 大于(greater than)
-lt 小于(less than)
-ge 大于等于 (greater than or equal)
-le 小于等于 (less than or equal)
字符串的比较:
[ $str1 = $str2 ] 等于
[ $str1 != $str2 ] 不等于
[ -z $str ]空字符串返回true
[ -n $str ] 或者 [ $str ] 非空字符串返回true
(4)linuxif字符串比较扩展阅读:
Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。
shell命令
命令行c
用户登录到Linux系统时,可以看到一个shell提示符,标识了命令行的开始。用户可以在提示符后面输入任何命令及参数。例如:
$ date
二 11 23 01:34:58 CST 1999
$
用户登录时,实际进入了shell,它遵循一定的语法将输入的命令加以解释并传给系统。命令行中输入的第一个字必须是一个命令的名字,第二个字是命令的选项或参数,命令行中的每个字必须由空格或TAB隔开,格式如下:
$ Command Option Arguments
❺ Linux shell :两字符串比较。 输入两不同字符串,结果确显示:the two string are equal!! 郁闷。。。。
一看就知道你没掌握好基础
你的if语法都不对
这里告诉你正确的语法,
if [ $str1 = $str2 ] ; then
...
else
...
fi
❻ linux下c如何比较两个字符串内容是否相等
用“==”号可以,但是似乎不太灵,用“strcpy(str1,str2);”为0则相等。请问后者strcpy(str1,str2);怎么不行额!我是放进了if从句里面额!
❼ linux shell 字符串比较
sh -x file 看一下运行过程。我运行输出a
[root@zabbix~]#sh-xa
+a=a,b,c
+[[a,b,c=a*]]
+echoa
a
[root@zabbix~]#
❽ linux 通过键盘输入一个字符串 然后与特定值比较, 然后执行特定function。
if ( cmd == "login" )
❾ linux 运行脚本时带参数进去 把输入的参数与脚本内的字符串比较 怎么做不出来
#!/bin/bash
if [ $1 == "all" ] ;then # 主意后边]和all之间需要有空格
echo "none"
elif [ $1 = "none" ];then #错误同上 注意空格
echo "none"
else
echo "please input all | none"
fi #ifend
❿ linux中 关于if(!strcmp(argv[i], "-s"))的用法 请问这之中的-s的具体含义 谢谢
就是字符-和字符s组成的字符串-s
strcmp语句将argv[i]地址开始的字符串与-s字符串做比较,两个字符串自左向右逐个字符相比(按ASCII值大小相比较),直到出现不同的字符或遇'\0'为止。
返回比较结束时的ASCII值,-的ASCII值是45H,s的ASCII值是115H
比如这语句存在main函数中,编译后成可执行程序test,运行时./test
可接参数,参数传入argv数组。比如./test
-v
则strcmp返回0即if语句条件满足;比如./test
abc
则strcmp返回ASCII差值,if语句条件不满足。你可以试试。