Linux系统shell脚本判断变量文件目录:权限、是否存在、空值、相等
先写一些基本语法:
1、字符串判断
str1 = str2 当两个串有相同内容、长度时为真
str1 != str2 当串str1和str2不等时为真
-n str1 当串的长度大于0时为真(串非空)
-z str1 当串的长度为0时为真(空串)
str1 当串str1为非空时为真
2、数字的判断
int1 -eq int2 两数相等为真
int1 -ne int2 两数不等为真
int1 -gt int2 int1大于int2为真
int1 -ge int2 int1大于等于int2为真
int1 -lt int2 int1小于int2为真
int1 -le int2 int1小于等于int2为真
3 文件的判断
-r file 用户可读为真
-w file 用户可写为真
-x file 用户可执行为真
-f file 文件为正规文件为真
-d file 文件为目录为真
-c file 文件为字符特殊文件为真
-b file 文件为块特殊文件为真
-s file 文件大小非0时为真
-t file 当文件描述符(默认为1)指定的设备为终端时为真
3、复杂逻辑判断
-a 与
-o 或
! 非
下面是一些使用实例:
#!/bin/sh
myPath="/var/log/httpd/"
myFile="/var /log/httpd/access.log"
#这里的-x 参数判断$myPath是否存在并且是否具有可执行权限
if [ ! -x "$myPath"]; then
mkdir "$myPath"
fi
#这里的-d 参数判断$myPath是否存在
if [ ! -d "$myPath"]; then
mkdir "$myPath"
fi
#这里的-f参数判断$myFile是否存在
if [ ! -f "$myFile" ]; then
touch "$myFile"
fi
#其他参数还有-n,-n是判断一个变量是否是否有值
if [ ! -n "$myVar" ]; then
echo "$myVar is empty"
exit 0
fi
#两个变量判断是否相等
if [ "$var1" == "$var2" ]; then
echo '$var1 eq $var2'
else
echo '$var1 not eq $var2'
fi
if list then
do something here
elif list then
do another thing here
else
do something else here
fi
EX1:
#!/bin/sh
SYSTEM=`uname -s` #获取操作系统类型,我本地是linux
if [ $SYSTEM = "Linux" ] ; then #如果是linux的话打印linux字符串
echo "Linux"
elif [ $SYSTEM = "FreeBSD" ] ; then
echo "FreeBSD"
elif [ $SYSTEM = "Solaris" ] ; then
echo "Solaris"
else
echo "What?"
fi #ifend
基本上和其他脚本语言一样。没有太大区别。不过值得注意的是。[]里面的条件判断。
分享到:
相关推荐
在IT行业中,Linux Shell脚本是系统管理员和开发者日常工作中不可或缺的工具,它允许用户通过命令行接口自动化执行一系列操作。本压缩包“shell脚本学习”提供了丰富的资源,帮助你深入理解并掌握Linux Shell脚本...
- **应用场景**:Shell脚本广泛应用于系统管理任务、数据处理、文件管理等领域。 ##### Shell变量 - **基本概念**:Shell变量用于存储不同类型的数据。它们是Shell脚本的基础,对于编写有效和灵活的脚本至关重要。 ...
Linux Shell脚本是Linux操作系统中进行自动化任务处理的重要工具,它允许用户编写一系列命令来执行复杂的操作。在本文中,我们将深入探讨Linux Shell脚本学习的一些关键知识点。 首先,命令提示符`[dyl@localhost ~...
在使用Shell脚本编程时,有时我们可能会遇到一个常见的错误提示:“[: =: unary operator expected”。这个错误通常出现在我们尝试进行条件判断时,尤其是当我们在`if`语句中使用`[ ... ]`或者`[[ ... ]]`进行比较...
#### 一、Linux操作系统与Shell脚本编程基础 **Shell**作为Linux操作系统的交互界面,是用户与操作系统之间的桥梁。掌握Shell的基础知识和脚本编程技巧,能够极大地提高系统管理效率及自动化处理能力。 #### 二、...
c) **文件测试**:主要用于检查文件或目录的存在、权限、类型等,如`-e`(存在),`-f`(普通文件),`-d`(目录),`-s`(非空文件),`-r`(可读),`-w`(可写),`-x`(可执行)等。 在进行字符串比较时,...
Shell是Linux和Unix系统中的命令解释器,它提供了一个用户与操作系统内核交互的界面。这份"shell基础"的学习资料,无论是对初学者还是有一定经验的shell编程者,都是一份非常宝贵的资源。以下是根据标题和描述提炼出...
- **test命令**:`if [ -f file.c ]`检查file.c是否存在,`-f`是测试文件是否存在的条件。 - **if-then-else-if结构**:`elif`可以添加额外的条件分支。 3. **错误处理** - **变量未赋值**:在上面的示例中,...
在Linux系统中,Shell脚本是自动化任务的强大工具,而变量是Shell编程中的核心概念。本文将详细解析Linux Shell中的变量及其使用方法。 首先,Shell本地变量,也称为局部变量,仅在当前Shell会话中有效,不会影响...
Shell脚本是编写一系列命令的文本文件,而在这个环境中,变量扮演着关键角色,它们用于存储数据并帮助实现更复杂的逻辑。本篇文章将深入讲解Linux Shell中的变量。 首先,我们来看一下**本地变量**,也称为**SHELL...
在本篇文章中,我们将详细介绍几种常用的Shell判断变量是否为空的方法。 1. 使用`-n`选项: ```bash #!/bin/sh para1= if [ ! -n "$para1" ]; then echo "IS NULL" else echo "NOT NULL" fi ``` 在这个...
Shell,作为Linux/Unix系统中的命令解释器,是用户与操作系统交互的重要工具。它不仅用于执行单一的命令,还能编写复杂的脚本,实现自动化任务处理。这份“13_questions_of_shell”教程以Markdown格式提供了关于...
$xxx)` 和 `#if ($xxx)` 的区别在于,前者还会在变量未定义的情况下判断为真,而后者仅在变量存在但值为空时判断为假。 此外,对于数组或列表等集合类型,可以使用`.size()`方法检查其长度来判断是否为空: ```...
这里的 `$btime` 在Shell中会被立即扩展,但结果会导致JSON格式错误,因为JSON中的字符串应当由双引号包围,而不是变量的空值。 在另一个例子中,发送包含多个键值对的JSON对象: ```bash curl -i -X POST -H '...
在JavaScript开发中,经常需要对变量进行是否空值的判断,以保证程序的逻辑正确性和健壮性。所谓空值,通常指的是那些在逻辑上被认为是“空”的值,这些值在进行某些操作时,需要特别处理。本知识点将详细介绍如何在...
在实际开发中,常常需要通过判断变量是否为null或undefined来确定是否需要进行某些操作,或者是否应该赋予默认值。 为了准确地进行判断,可以编写一个函数来进行检查。从给定文件内容中,我们可以看到一个示例函数...
空值的判断,空值的过滤,补全空值.ipynb
【键识别表空值状态SQL脚本】 判断表是否为空:表数据为空或者表数据不为空但是有... 4、脚本轻量,采用高级逻辑算法运行速度快,能够智能识别表是否完全空置,或是存在某个字段数据的空值情况,大大节省宝贵时间。
最后,通过`if __name__ == "__main__":`来判断是否直接执行该脚本,如果是直接执行,则会运行`tf.app.run(main)`,这会执行`main`函数。在`main`函数中,会读取配置好的训练数据文件路径,并调用`cut_word`函数进行...