一.算术比较
算术操作符主要有以下几个:
-eq:等于(equal)
-gt: 大于(greater than)
-lt: 小于(less than)
-ge:大于或等于(greater than or equal)
-le:小于或等于(less than or equal)
对变量或值进行算术条件比较,如果两个条件通过&&,||连接在一起,记得在操作数之间要有一个空格。例如:
[ $var1 -eq 0 ] || [$var2 -lt 10 ]
二.文件系统相关属性测试
与文件系统相关的测试符号主要有:
[ -d $var ]:如果给定变量为目录,则返回真。
[ -f $var ]: 如果给定变量为文件,则返回真。
[ -x $var ]: 如果给定变量是可执行的,则返回真。
[ -w $var ]: 如果给定变量可写,则返回真。
[ -r $var ]: 如果给定变量可读,则返回真。
[ -e $var ]: 如果给定变量存在,则返回真。
.....
使用方法如下:
fpath="/etc/passwd"
if [ -e $fpath ]; then
echo “File exists"
else
echo "Does not exist"
fi
三.字符串比较
比较两字符串是否相等:
[[ $str1 = $str2 ]]: 当str1等于str2时,返回真,即str1和str2包含的文本是一模一样的,也可以写成[[ $str1 == $str2 ]] 。
其他字符串比较符号:
[ $str1 != $str2 ]: 如果str1和str2不相同,则返回真。
[ $str1 > $str2 ]: 如果str1的字母顺序比str2大,则返回真。
[ $str3 < $str2 ]: 如果str1的字母顺序比str2小,则返回真。
[ -z $str1 ]: 如果str1为空,则返回真。
[ -n $str1 ]: 如果str1非空,则返回真。
注意:Linux中 “=“ 的用法,如果 “=” 前后各有一个空格,则表示比较, 如果没有空格,则表示赋值。
相关推荐
Makefile文件arm-none-linux-gnueabi-gcc编译文件,linux下多个.C文件统一使用make文件进行编译
Kali Linux VMware(kali-linux-2022.2-vmware-amd64.7z)文件分割成 3个 压缩包,必须集齐3个 文件后才能一起解压一起使用: kali-linux-2022.2-vmware-amd64.part1.rar ... kali-linux-2022.2-vmware-amd64.part2.rar...
3. 调试与测试:使用GDBserver等调试工具进行远程调试,同时在真实设备或模拟器上进行充分的测试,以验证程序的正确性。 总之,aarch64-linux-android-4.9作为Android开发中的核心工具,帮助开发者跨越了不同平台...
Kali Linux VMware(kali-linux-2022.2-vmware-amd64.7z)文件分割成 3个 压缩包,必须集齐3个 文件后才能一起解压一起使用: kali-linux-2022.2-vmware-amd64.part1.rar ... kali-linux-2022.2-vmware-amd64.part2.rar...
Kali Linux VMware(kali-linux-2022.2-vmware-amd64.7z)文件分割成 3个 压缩包,必须集齐3个 文件后才能一起解压一起使用: kali-linux-2022.2-vmware-amd64.part1.rar ... kali-linux-2022.2-vmware-amd64.part2.rar...
然而,压缩包子文件列表中的 "愛にできることはまだあるかい (Movie edit).mp3" 与JDK无关,看起来可能是上传时误放入的文件,通常不会出现在JDK的下载包中。如果这个MP3文件是意外混入的,应当被忽略,只关注 "jdk-...
在压缩包子文件的文件名称列表中,我们只看到一个条目:"arm-2013.11-33-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2",这与标题完全吻合,确认了压缩包中包含的就是这个交叉编译工具链的文件。 使用这样的...
压缩包中的另一个文件“arm-2014.05-29-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2”,很可能包含了实际的工具链二进制文件和库。这是一个被bzip2压缩的tar归档文件,解压后可以得到一个完整的目录结构,...
4. 测试编译器:运行`arm-linux-gnueabihf-gcc --version`检查编译器是否成功安装并确认版本。 使用这个交叉编译器,开发者可以为各种ARM设备,如嵌入式系统、Raspberry Pi、开发板等,构建和优化软件,确保它们在...
### 交叉编译环境的建立与arm-linux-gcc-4.3.2的安装 在进行嵌入式系统开发时,经常会遇到需要为不同的目标平台编译代码的情况,这就涉及到了交叉编译的概念。交叉编译是指在一个平台上编译代码,并生成可以在另一...
标题中的“jdk-8u162-linux-x64.tar.zip”揭示了这是一个与Java开发工具包(JDK)相关的文件,特别指出是版本8的更新162(u162),针对Linux操作系统的64位架构。JDK是Java编程语言的核心组件,包含了编译器、调试器...
标签"jdk8"、"linux"、"jdk8"进一步强调了这是与Java 8有关的内容,特别是与Linux平台的兼容性。Java 8是Oracle公司发布的一个重要版本,引入了许多新特性,如Lambda表达式、函数式编程、Stream API、Date和Time API...
Kali Linux VMware(kali-linux-2021.3-vmware-amd64.7z)文件分割成 3个 压缩包,必须集齐3个 文件后才能一起解压一起使用: kali-linux-2021.3-vmware-amd64.part3.rar ... kali-linux-2021.3-vmware-amd64.part2....
Kali Linux VMware(kali-linux-2022.1-vmware-amd64.7z)文件分割成 3个 压缩包,必须集齐3个 文件后才能一起解压一起使用: kali-linux-2022.1-vmware-amd64.part1.rar ... kali-linux-2022.1-vmware-amd64.part2.rar...
arm-none-linux-gnueabi 交叉工具链与 arm-linux-gcc 的区别在于,arm-none-linux-gnueabi 是一个基于 EABI 标准的交叉工具链,而 arm-linux-gcc 是一个基于 OABI 标准的交叉工具链。EABI 标准是 ARM 公司推出的标准...
总结来说,`arm-linux-gcc-5.4.0`是一个强大的工具,使得开发者能够在非ARM设备上构建和测试针对ARM Linux系统的应用。它的重要性在于提高了跨平台开发的效率和灵活性,特别是在处理复杂的项目如QT时,新版本的...
在压缩包内的文件"geth-linux-amd64-1.9.9-01744997"很可能是Geth的可执行文件,用户解压后可以通过命令行运行,启动以太坊节点。这个文件包含了运行Geth所需的所有依赖,使得用户可以在支持Go语言的Linux环境中快速...
2. **配置文件**:PAM的配置通常位于/etc/pam.d/目录下,这里可能包含针对不同服务的配置脚本,定义了服务如何与PAM交互以及使用哪些模块进行认证。 3. **文档**:压缩包内可能会有README、INSTALL、CHANGELOG等...
这个文件采用tar.gz格式进行压缩,这是一种在Linux和Unix系统中常见的归档和压缩方法。 Eclipse IDE是一款开源的集成开发环境(Integrated Development Environment),主要用于编写Java应用程序。它以其强大的代码...
标签"jdk-8u144-linux-"揭示了这个压缩包与JDK 8u144在Linux平台有关,可能是为了方便搜索和分类。 压缩包内的文件名列表如下: 1. "jdk-8u144-linux-x64.rpm":如前所述,这是一个RPM格式的JDK安装包,用户可以...