linux的test命令

Linux test 命令 摘要:Linux中的test命令是Shell脚本中进行条件判断的核心工具,支持文件属性检查、字符串比较和数值判断。常用格式为[ EXPRESSION ](注意保留空格)。主要功能包括:1) 文件测试(-e判断存在、-f普通文件等);2) 字符串比较(-z空串、=等值);3) 数值比较(-eq等于、-gt大于等);4) 逻辑运算(-a与、-o或)。典型应用场景如验证用户输入、检查文件权限、服务脚本控制等。使用时需注意变量引号、空格规范及比较符号选择,避免常见语法错误。该命令通过简单的条件表达式为Shell脚本 阅读详情
每一种条件语句的基础都是判断什么是真什么是假。是否了解其工作原理将决定您编写的是质量一般的脚本还是您将引以为荣的脚本。

Shell 脚本的能力时常被低估,但实际上其能力的发挥受制于脚本撰写者的能力。您了解得越多,您就越能像变戏法似地撰写一个文件来使任务自动化和简化您的管理工作。

在 shell 脚本中进行的每一种操作(除最简单的命令编组之外)都需要检查条件。所有的 shell 脚本“逻辑” — 广义意义下的“逻辑” — 通常都可以分为以下三大类:

if {condition exists} then ...
while {condition exists} do ...
until {condition exists} do ...

无论随后的操作是什么,这些基于逻辑的命令都依靠判断一种条件是否真实存在来决定后续的操作。test 命令是使得在每一种情况下都能够确定要判断的条件是否存在的实用工具。因此,彻底了解这个命令对于撰写成功的 shell 脚本至关重要。

工作原理

test 命令最短的定义可能是评估一个表达式;如果条件为真,则返回一个 0 值。如果表达式不为真,则返回一个大于 0 的值 — 也可以将其称为假值。检查最后所执行命令的状态的最简便方法是使用 $? 值。出于演示的目的,本文中的例子全部使用了这个参数。

test 命令期望在命令行中找到一个参数,当 shell 没有为变量赋值时,则将该变量视为空。这意味着在处理脚本时,一旦脚本寻找的参数不存在,则 test 将报告该错误。

当试图保护脚本时,您可以通过将所有参数包含在双引号中来解决这个问题。然后 shell 将变量展开,如果变量没有值,那么将传递一个空值给 test。另一种方法是在脚本内增加一个额外检查过程来判断是否设置了命令行参数。如果没有设置命令行参数,那么脚本会告诉用户缺少参数,然后退出。我们会通过一些例子来更具体地说明所有这些内容。

test 和 [ 命令

虽然 Linux 和 UNIX 的每个版本中都包含 test 命令,但该命令有一个更常用的别名 — 左方括号:[。test 及其别名通常都可以在 /usr/bin 或 /bin (取决于操作系统版本和供应商)中找到。

当您使用左方括号而非 test 时,其后必须始终跟着一个空格、要评估的条件、一个空格和右方括号。右方括号不是任何东西的别名,而是表示所需评估参数的结束。条件两边的空格是必需的,这表示要调用 test,以区别于同样经常使用方括号的字符/模式匹配操作。

test 和 [ 的语法如下:

test expression
[ expression ]

在这两种情况下,test 都评估一个表达式,然后返回真或假。如果它和 if、while 或 until 命令结合使用,则您可以对程序流进行广泛的控制。不过,您无需将 test 命令与任何其它结构一起使用;您可以从命令行直接运行它来检查几乎任何东西的状态。

因为它们彼此互为别名,所以使用 test 或 [ 均需要一个表达式。表达式一般是文本、数字或文件和目录属性的比较,并且可以包含变量、常量和运算符。运算符可以是字符串运算符、整数运算符、文件运算符或布尔运算符 — 我们将在以下各部分依次介绍每一种运算符。

test 文件运算符

利用这些运算符,您可以在程序中根据对文件类型的评估结果执行不同的操作:

-b file 如果文件为一个块特殊文件,则为真
-c file 如果文件为一个字符特殊文件,则为真
-d file 如果文件为一个目录,则为真
-e file 如果文件存在,则为真
-f file 如果文件为一个普通文件,则为真
-g file 如果设置了文件的 SGID 位,则为真
-G file 如果文件存在且归该组所有,则为真
-k file 如果设置了文件的粘着位,则为真
-O file 如果文件存在并且归该用户所有,则为真
-p file 如果文件为一个命名管道,则为真
-r file 如果文件可读,则为真
-s file 如果文件的长度不为零,则为真
-S file 如果文件为一个套接字特殊文件,则为真
-t fd 如果 fd 是一个与终端相连的打开的文件描述符(fd 默认为 1),则为真
-u file 如果设置了文件的 SUID 位,则为真
-w file 如果文件可写,则为真
-x file 如果文件可执行,则为真

以下示例显示了此简单操作的运行情况:

$ ls -l
total 33
drwxr-xr-w 2 root root 1024 Dec 5 05:05 LST
-rw-rw-rw- 1 emmett users 27360 Feb 6 07:30 evan
-rwsrwsrwx 1 root root 152 Feb 6 07:32 hannah
drwxr-xr-x 2 emmett users 1024 Feb 6 07:31 karen
-rw------- 1 emmett users 152 Feb 6 07:29 kristin
-rw-r--r-- 1 emmett users 152 Feb 6 07:29 spencer
$

$ test -r evan
$ echo $?
0

$ test -r walter
$ echo $?
1
$

由于第一次评估为真 — 文件存在且可读 — 返回值为真,或 0。由于第二次评估的文件不存在,该值为假,返回值不为零。将值指定为零或非零很重要,因为在失败时不会始终返回 1(虽然这是通常返回的值),可能返回一个非零值。

正如开头所提到的,除了使用 test 外,您还可以用方括号 [ ] 将命令括住来向 shell 发出同样的命令 — 如下所示:

$ [ -w evan ]
$ echo $?
0
$ [ -x evan ]
$ echo $?
1
$

同样,第一个表达式为真,第二个表达式为假 — 正如返回值所指示的那样。您还可以使用以下命令将两个文件彼此进行比较:

file1 -ef file2 测试以判断两个文件是否与同一个设备相连,是否拥有相同的 inode 编号
file1 -nt file2 测试以判断第一个文件是否比第二个文件更新(由修改日期决定)
file1 -ot file2 测试以判断第一个文件是否比第二个文件更旧

以下示例显示了使用这些运算符比较文件的结果:

$ [ evan -nt spencer ]
$ echo $?
0
$ [ karen -ot spencer ]
$ echo $?
1
$

名为 evan 的文件比名为 spencer 的文件更新,因而评估为真。类似地,名为 karen 的文件比名为 spencer 的文件更新,因此该评估为假。

字符串比较运算符

如标题所示,这组函数比较字符串的值。您可以检查它们是否存在、是否相同或者是否不同。

String 测试以判断字符串是否不为空
-n string 测试以判断字符串是否不为空;字符串必须为 test 所识别
-z string 测试以判断字符串是否为空;字符串必须为 test 所识别
string1 = string2 测试以判断 string1 是否与 string2 相同
string1 != string2 测试以判断 string1 是否与 string2 不同

对任何变量进行的最有用的测试之一是判断它的值是否不为空,可以简单地将其放在 test 命令行中执行这种测试,如下例所示:

$ test "$variable"

强烈建议进行此种测试时用双引号将变量括住,以让 shell 识别变量(即使变量为空)。默认情况下执行的基本字符串评估和 -n 测试从功能上讲是相同的,如以下示例所示:

#example1
if test -n "$1" 
then
echo "$1" 
fi

执行以上例子中的代码将根据 $1 是否存在给出以下结果:

$ example1 friday
friday
$
$ example1
$

如果将代码更改为以下形式,则结果将相同:

#example2
if test "$1" 
then
echo "$1" 
fi

如下所示:

$ example2 friday
friday
$
$ example2
$

所有这些表明,通常不需要 -n,它代表默认操作。

要从一个不同的角度来查看各种可能性,您可以用另一个选项来替换 -n,并检查该值是否为空(相对于非空)。这可以用 -z 选项来实现,代码为:

#example3
if test -z "$1" 
then
echo "no values were specified" 
fi

运行如下:

$ example3 
no values were specified 
$ example3 friday
$ 

如果在没有命令行参数的情况下运行该程序,而表达式评估为真,那么将执行程序块中的文本。如果在命令行中有值,则脚本退出,不执行任何操作。将评估操作放在脚本的开头非常有用,这可以在可能产生错误的进一步处理之前预先检查变量值。

其余的字符串运算符对两个变量/字符串之间的精确匹配或其中的差异(您也可以称之为等价性和“不等价性”)进行评估。第一个例子对匹配进行测试:

$ env
LOGNAME=emmett
PAGER=less
SHELL=/bin/bash
TERM=linux
$
$ [ "$LOGNAME" = "emmett" ]
$ echo $?
0
$
$ [ "$LOGNAME" = "kristin" ]
$ echo $?
1
$

或者,该评估可以以脚本的形式用于决定是否运行脚本:

#example4
if [ "$LOGNAME" = "emmett" ]
then
echo "processing beginning"
else 
echo "incorrect user"
fi

这种方法可以用来寻找任意的值(如终端类型或 shell 类型),在允许脚本运行之前这些值必须匹配。请注意,= 或 != 运算符的优先级高于其它大多数可指定选项,且要求必须伴有表达式。因此,除了比较字符串的选项之外,= 或 != 都不能和检查某种东西(如可读文件、可执行文件或目录)的存在性的选项一起使用。

整数比较运算符

正如字符串比较运算符验证字符串相等或不同一样,整数比较运算符对数字执行相同的功能。如果变量的值匹配则表达式测试为真,如果不匹配,则为假。整数比较运算符不处理字符串(正如字符串运算符不处理数字一样):

int1 -eq int2 如果 int1 等于 int2,则为真
int1 -ge int2 如果 int1 大于或等于 int2,则为真
int1 -gt int2 如果 int1 大于 int2,则为真
int1 -le int2 如果 int1 小于或等于 int2,则为真
int1 -lt int2 如果 int1 小于 int2,则为真
int1 -ne int2 如果 int1 不等于 int2,则为真

以下示例显示了一个代码段,其中在命令行中给出的值必须等于 7:

#example5
if [ $1 -eq 7 ]
then
echo "You've entered the magic number."
else 
echo "You've entered the wrong number."
fi

运行中:

$ example5 6
You've entered the wrong number.
$
$ example5 7
You've entered the magic number.
$

和字符串一样,比较的值可以是在脚本外为变量赋的值,而不必总是在命令行中提供。以下示例演示了实现这一点的一种方法:

#example6
if [ $1 -gt $number ]
then
echo "Sorry, but $1 is too high."
else 
echo "$1 will work."
fi

$ set number=7
$ export number
$ example6 8
Sorry, but 8 is too high.
$ example6 7
7 will work.
$

整数比较运算符最佳的用途之一是评估指定的命令行变量的数目,并判断它是否符合所要求的标准。例如,如果某个特定的命令只能在有三个或更少变量的情况下运行,

#example7 - display variables, up to three
if [ "$#" -gt 3 ]
then
echo "You have given too many variables."
exit $#
fi

只要指定三个或更少的变量,该示例脚本将正常运行(并返回值 0)。如果指定了三个以上的变量,则将显示错误消息,且例程将退出 — 同时返回与命令行中给定的变量数相等的退出代码。

对这个过程进行修改可以用来在允许运行报表之前判断当天是否是本月的最后几天:

#example8 - to see if it is near the end of the month#
set `date` # use backward quotes
if [ "$3" -ge 21 ]
then
echo "It is close enough to the end of the month to proceed"
else 
echo "This report cannot be run until after the 21st of the month" 
exit $3
fi

在这个例子中,设置了六个变量(通过空格彼此分开):

$1 = Fri
$2 = Feb
$3 = 6
$4 = 08:56:30
$5 = EST
$6 = 2004

这些值可以在脚本中使用,就像它们是在命令行中输入的一样。请注意,退出命令再次返回一个值 — 在这种情况下,返回的值是从 $3 的值中得到的日期。这一技巧在故障诊断时会非常有用 — 如果您认为脚本应该运行而没有运行,那么请查看 $? 的值。

一种类似的想法可能是撰写一个只在每个月的第三个星期三运行的脚本。第三个星期三一定在该月的 15 日到 21 日之间。使用 cron,您可以调用脚本在 15 日到 21 日之间每天的一个指定时间运行,然后使用脚本的第一行检查 $1(在设置日期之后)的值是否为 Thu。如果为 Thu,那么执行剩下的脚本,如果不是,则退出。

而另一个想法可能是,只允许脚本在超过 6:00 p.m. (18:00),所有用户都回家之后运行。只要撰写脚本,使其在值低于 18 时退出,并通过使用以下命令来获取时间(将其设为 $1)

set `date +%H`

布尔运算符

布尔运算符在几乎每种语言中的工作方式都相同 — 包括 shell 脚本。在 nutshell 中,它们检查多个条件为真或为假,或者针对假的条件而不是真的条件采取操作。与 test 搭配使用的运算符有

! expr 如果表达式评估为假,则为真
expr1 -a expr2 如果 expr1 和 expr2 评估为真,则为真
expr1 -o expr2 如果 expr1 或 expr2 评估为真,则为真

可以用 != 运算符代替 = 进行字符串评估。这是最简单的布尔运算符之一,对 test 的正常结果取非。

其余两个运算符中的第一个是 -a(即 AND)运算符。要使测试最终为真,两个表达式都必须评估为真。如果任何一个评估为假,则整个测试将评估为假。例如,

$ env
HOME=/
LOGNAME=emmett
MAIL=/usr/mail/emmett
PATH=:/bin:/usr/bin:/usr/lbin
TERM=linux
TZ=EST5:0EDT
$
$ [ "$LOGNAME" = "emmett" -a "$TERM" = "linux" ]
$ echo $?
0
$

$ [ "LOGNAME" = "karen" -a "$TERM" = "linux" ]
$ echo $?
1
$

在第一个评估中,两个条件都测试为真(在一个 linux 终端上登录的是 emmett),因此整个评估为真。在第二个评估中,终端检查正确但用户不正确,因此整个评估为假。

简而言之,AND 运算符可以确保代码只在两个条件都满足时才执行。相反,只要任何一个表达式测试为真,OR (-o) 运算符即为真。我们来修改先前的例子,并将其放到一个脚本中来说明这一点:

#example9
if [ "$LOGNAME" = "emmett" -o "$TERM" = "linux" ]
then
echo "Ready to begin."
else 
echo "Incorrect user and terminal." 
fi

$ env
HOME=/
LOGNAME=emmett
MAIL=/usr/mail/emmett
PATH=:/bin:/usr/bin:/usr/lbin
TERM=linux
TZ=EST5:0EDT
$ example9
Ready to begin.
$
$ LOGNAME=karen
$ example9
Ready to begin.
$

在脚本第一次运行时,评估判断用户是否等于 emmett。如果发现用户等于 emmett,则脚本转至 echo 语句,并跳过其余的检查。它从不检查终端是否等于 linux,因为它只需要找到一条为真的语句就可以使整个运算为真。在脚本第二次运行时,它判断用户不是 emmett,因此它将检查并发现终端确实是 linux。由于一个条件为真,脚本现在转至 echo 命令。为了引出第二条消息,两个条件都必须为假。

在先前确定时间是否为月末的例子中,可以执行类似的检查来防止用户试图在周末运行脚本:

#example10 - Do not let the script run over the weekend#
set `date` # use backward quotes
if [ "$1" = "Sat" -o "$1" = "Sun" ]
then
echo "This report cannot be run over the weekend." 

fi

一些有用的示例

示例 1:在脚本文件中出现的“逻辑”的最简单的形式(如本文所有示例中所示)是“if ... then”语句。先前的一个代码段检查是否存在一定数量的变量,然后将这些变量回显。假设我们对此稍微做一些修改,比如我们想回显变量,并且每次回显均减去最左边的变量,以显示一个倒的三角形。

虽然这听起来很简单,但实际并非如此;这是您在执行大规模处理时想实现的方式:处理第一个变量、转移、处理下一个变量……

出于演示的目的,可以按以下方式撰写脚本中的重要行:

#example11 - display declining variables, up to three
if [ "$#" -gt 3 ] # see if more than three variables are given
then
echo "You have given more than three variables." 

exit
fi
echo $*
if test -n "$2"
then
shift
echo $*
fi
if test -n "$2"
then
shift
echo $*
fi

它将按以下方式执行:

$ example11 one
one
$

$ example11 one two
one two
two
$

$ example11 one two three
one two three
two three
three
$

$ example11 one two three four
You have given more than three variables.
$

出于检查的目的将数量限制为三个变量的原因是减少在例子中要检查的行数。一切都按部就班地进行,虽然它令人难以置信地混乱;用户因使用了超过程序依设计所能处理的变量数而得到警告,且脚本退出。如果变量数为 3 或更少,则运算的核心部分开始执行。

回显变量,执行测试以查看另一个变量是否存在。如果另一个变量存在,则执行一次转移,回显该变量,执行另一测试,等等。总共使用了 16 个有效行,而程序仅能处理不超过三个变量 — 非常混乱。假设消除变量数的限制,程序可以处理任意数量的变量。经过一些修改,脚本被缩短(美化)了,并能处理任意数量的变量:

#example12 - display declining variables, any number
while [ "$#" -gt 0 ]
do
echo $*
shift
done

$ example12 1 2 3 4 5 6 7 8 9 0
1 2 3 4 5 6 7 8 9 0
2 3 4 5 6 7 8 9 0
3 4 5 6 7 8 9 0
4 5 6 7 8 9 0
5 6 7 8 9 0
6 7 8 9 0
7 8 9 0
8 9 0
9 0
0

现在减少到只有 5 个有效行,且消除了第一个脚本三个变量的限制,并在运行时要更高效。

示例 2:无论何时当在脚本内执行与处理相关的操作时,下一个操作将始终检查上一操作的状态,以确认它已成功完成。您可以通过检查 $? 的状态并验证它等于 0 来实现这一目的。例如,如果一个数据目录是否能访问非常重要,

#example13
TEMP=LST
cd $TEMP
if [ $?-ne 0 ]
then
echo "Data directory could not be found." 
Exit
fi

处理错误

资源

下载针对 Linux 的 Oracle 数据库 10g
Oracle 数据库 10g 第 1 版 (10.1.0.2) 现在可用于 Linux x86 和 Linux Itanium 平台;请在此从 OTN 上免费下载。

访问 Linux 技术中心
收藏本页,以获取关于 Linux 系统管理员最佳应用的一般技术信息,以及关于 Oracle-on-Linux 产品群的具体技术信息。

相关文章

Linux 相关技术文章的存档

test 命令常常出现的错误事实上只有两种类型。第一种是未使用正确的评估类型,例如将字符串变量与整型变量进行比较或者将带填充的字符串与不带填充的字符串进行比较。仔细评估您使用的变量将使您最终找到错误的根源,并让您能够解决这些问题。

第二种错误类型包括将方括号误认为别名之外的某个东西。方括号与其内容之间必须有一个空格;否则,它们将不能解释其中的对象。例如,

$ [ "$LOGNAME" -gt 9]
test:] missing
$

请注意,错误消息指示 test 存在问题,即使使用了别名 ]。这些问题很容易发现,因为错误消息准确地将这些问题显示出来,然后您可以增加必要的空格。

结论

要在 shell 脚本中构建逻辑,您必须添加条件语句。每一条这种语句的核心都是对条件的评估,以判断它是否存在 — 通过使用 test 命令完成评估。了解它和它的别名(左方括号 ([)的工作原理将使您能够撰写可以完成一些复杂操作的 shell 脚本。
Linux test命令详解教程 在Linux系统中,test命令是一个非常基础且强大的工具,用于检查文件属性、整数比较、字符串比较等条件。它通常在shell脚本中使用,以根据条件执行不同的命令。本文将详细介绍test命令的使用方法和一些实用示例。 阅读详情

相关推荐

Linux系统中test命令

test命令 通过help test命令来看一下test命令可以做哪些操作并简单翻译一下什么作用 文件运算符: -a如果文件存在,则为True。 -b如果文件是特殊块,则为True。 -c如果文件是特殊字符,则为真。 -d如果文件是目录,则为True。 -e如果文件存在,则为True。 -f如果文件存在并且是常规文件,则为True。 -g如果文件是set-group-id,则为Tru...

qq_44867764的博客 1510

linux脚本test命令,test命令-linux shell 脚本

#!/bin/bash# This is program will check you file name,which sys has or not,end print types.#2019/07/19 FSQFirst releaseecho -e "input file name:" filenameread filenametest -z $filename && ech...

weixin_32139169的博客 355

STM32F103C8T6 驱动2位共阳数码管(基于 74HC595 和 PNP 三极管)

整体设计思路是通过 STM32F103C8T6 控制 74HC595 和 PNP 三极管,实现共阳数码管的显示功能。最初的电路设计中,三极管发射极接 5V 电源,这导致了数码管两位显示相同数字的问题。数码管能够稳定显示 0-99的数字。

qq_40289410的博客 2208

shell脚本——test命令的操作使用

test命令的操作使用#!/bin/bash# test命令 # Shell中的 test 命令用于检查某个条件是否成立,它可以进行数值、字符和文件三个方面的测试。# 数值测试 # -eq 等于则为真 # -ne 不等于则为真 # -gt 大于则为真 # -ge 大于等于则为真 # -lt 小于则为真 # -le 小于等于则为真number1=10 number2=20 if

番薯大佬的专栏 930

centos 添加新硬盘,对根目录扩容

本地安装了虚拟机,系统为centos7,使用过程中,渐渐地发现磁盘容量不够用了,于是在虚拟机中新增了一块硬盘。 进入系统内查看: sdb是新增的硬盘,大小为40g。 接下来有两种方式,一种是普通方式直接挂载。https://blog.youkuaiyun.com/qq_39314099/article/details/106200322 这样的话只有在挂载点的目录下操作才能使用到这个新硬盘,不是很理想。 还有一种方式lvm,逻辑卷管理的方式。 LVM简单介绍: 它是 Linux 下对磁盘分区进行管

qq_39314099的博客 1万+

光模块MCU开发全解析:从架构原理到固件调试实战

在高速光模块中,MCU并非传统印象里的核心处理器,而是负责数字诊断、闭环控制和协议管理的嵌入式管家。随着800G、1.6T模块的普及,MCU与DSP/SoC的协同、I2C总线通信、ADC采集、APC/TEC控制等低速域任务愈发关键。理解MCU的选型规格、启动流程和固件设计,是保障光模块稳定运行的基础。本文从光模块架构切入,剖析MCU的角色定位,详细拆解I2C从机实现、电芯片配置、校准与升级等工程细节,并结合实际调试经验梳理常见故障与排查思路,为嵌入式工程师提供一份可落地的光模块MCU开发指南。

weixin_29192365的博客 361

Linux:测试命令test

Linux test命令是Linux中的一个内建的测试命令,它可以进行文件测试,数值比较和字符串比较,本文将给出相关的示例。test命令并不会像标准输出提供显示信息,而是通过返回状态提供测试结果。

保持终身学习的能力,温故而知新 1333

MIKE11实战:平原河网水动力建模从入门到精通(附GIS数据处理技巧)

本文系统介绍了MIKE11软件在平原河网水动力建模中的完整实战流程。从GIS数据预处理、河网构建、参数率定到结果分析,详细阐述了构建可靠数字孪生模型的关键步骤与技巧,旨在帮助水利工程师高效解决平原地区复杂水流模拟的挑战,为防洪决策提供科学依据。

weixin_28419039的博客 687

2.Linux使用基础

一、文件系统 Linux的灵魂所在就是一切皆文件,文件系统是对存贮设备的数据和云数据进行组织的机制,这种机制有利于用户和系统的交互,尽管内核是Linux的核心,但是文件系统确时用户和操作系统交互的主要工具,文件系统不仅包含了文件中的数据而且还有文件系统的结构。Linux用户和程序看到的文件,目录,软连接,以及文件保护都存储在其中。 linux最早的文件系统是Minix,后来专门设计了文件系统---扩展文件系统第二版(EXT2)被设计并添加到了Linux中,这对Linux产生了巨大的影响,目前常用文件系统有e

小邱pulse的博客 350

Shopee滑块验证码太刁钻?手把手教你用Python+Playwright绕过弧形验证(附影刀RPA接入代码)

本文详细介绍了如何使用Python和Playwright结合SadCaptcha第三方服务高效破解Shopee平台的弧形滑块验证码,并集成到影刀RPA工作流中。该方案开发周期短、准确率高(>90%),特别适合跨境电商自动化操作,已在实际项目中验证成功。

weixin_29284657的博客 565

2024届数字IC秋招-华为机试-数字芯片-笔试真题和答案(五)(含2022年和2023年)

此部分包含华为机试真题,方向是数字芯片,内容详细包括设计、验证、后端等,大部分题目给出参考答案。华为机试都是从题库里抽题目,所以这些题目还是很有参考性的,甚至是完全一样,可以搜到的。(题目内容较多,将分开编写几个文章)

qq_42135020的博客 2081

linux 测试 命令大全,linux命令大全之-test测试命令

格式:test 测试条件字符串测试:注意空格:test str1 == str2 测试字符串是否相等test str1 != str2 测试字符串是否不相等test str1 测试字符串是否不为空test -n str1 测试字符串是否不为空test -z str1 测试字符串是否为空整数测试test int1 -eq int2 测试整数是否相等test int1 -ge int2 测试int1是...

weixin_34086714的博客 1999

openbmc 支持mctp over pcie(三)(支持作为endpoint)

本文介绍了在Intel BHS平台上支持MCTP over PCIe端点开发的调试方法。开发基于CodeConstruct和AspeedTech-BMC的开源项目,将内核驱动改为模块形式以便调试。内容包括DTS配置、驱动模块设置步骤,以及如何将BMC配置为端点设备。调试过程涉及内核模块加载、MCTPD启动、参数设置等关键命令,并展示了路由表、地址和邻居信息的测试结果。该方案仅为实验性工作,需注意停止其他使用/dev/aspeed-mctp0接口的应用。

wit_yuan的专栏 1553

Linux命令:test

今天同事问了我一个问题,有关于Linux命令:test的用法。其实是比较简单的,下面先看看那个问题:#!/bin/bashflag=0;for ((i=1;ido        echo -n "please input your name:";        read username;        echo -n "please input your password:";       

sunhy1021的专栏 2847

Dify 第 2 篇 Dify 插件离线安装

Dify是一个支持插件扩展的AI平台,其插件市场提供5种类型插件(模型、工具、Agent策略、扩展、插件包)。由于默认pip安装速度慢,可通过dify-plugin-repackaging工具将插件转换为离线包(使用阿里云镜像加速)。该工具提供两种方式:1)自备Python环境执行脚本;2)使用Docker环境(推荐)。脚本支持从Dify市场或GitHub下载插件,并重新打包为含依赖的离线包,便于通过"本地插件"方式快速安装。

甘蓝的专栏 1258

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

linux脚本test命令,linux test命令

linux下的test命令是脚本编写中一个非常重要的命令。其主要用于文件(目录)的检测、属性判读、权限判断等。而在使用该命令的过程中,一般不直接使用test -n 字符串这类的表达式去表示。而是使用"[]"或代替test命令。"[]"里使用的参数是继承自test命令的。一、test命令的应用类型1、判断表达式if test (表达式为真)if test !表达式为假test 表达式1 –a 表达式...

weixin_32234493的博客 1228

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

Linux下test命令使用

test命令格式:  test condition 通常,在if-then-else语句中,用[]代替,即[ condition ]。注意:方括号两边都要用空格。   1、数值比较  ===========================================================  比 较 描 述  -------------

知秋一叶 4457

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

linux test指令大全,linux test命令详解

test命令是linux下的一个命令,那么它的具体语法是怎样的呢?下面由学习啦小编为大家整理了linux test命令的相关知识,希望对大家有帮助!1.linux test命令基本格式test expressionexpression为test命令构造的表达式。这里expression是test命令可以理解的任何有效表达式,该简化格式将是读者可能会踫见的最常用格式2.linux test命令返回值...

weixin_39903538的博客 2460

linux中test的用法,如何在Linux中使用test命令

Linux系统中有时需要检测某个条件是否成立,那么就要用到test命令了,Linux下test的用法有很多,下面就随学习啦小编一起来学习下Linux系统中如何使用test命令吧。1.判断一个命令的结果使用test,其返回0,或一个整数。返回0表示true,返回整数表示错误码2.获取上一个命令的返回结果使用$?3.例如我的服务器上面存在/home/www这样一个文件夹,所以ls /home/www这...

weixin_36280492的博客 2417

linux之test命令详解

linux之test命令详解 test作用检查某个条件是否成立,返回值为0(真)或者其他值(假),可通过echo $?查看返回值,也常用于循环和条件语句。 test一般有三种用法: 测试文件或者文件夹 字符串比较 数值比较 1.测试文件或者文件夹 参数 说明 -e 当路径存在时返回真 -f 当路径存在且为文件时返回真 -d 当路径存在且为文件夹时返回真 [root@linuxforliuhj test]# ll total 20 -rw-r--r--. 1 root root

qq_43382735的博客 1万+

Linux shell test命令用法详解

1)判断表达式if test (表达式为真)if test !表达式为假test 表达式1 –a 表达式2 两个表达式都为真test 表达式1 –o 表达式2 两个表达式有一个为真2)判断字符串test –n 字符串 字符串的长度非零test –z 字符串 字符串的长度为零test 字符串1=字符串2 字符串相等t

学亮编程手记 1851

Linux test命令

参考文章:Linux常用命令—test命令执行条件表达式。 主要用途 执行条件表达式。 字符串运算符 其他运算符 返回值 如果表达式执行结果为成功时返回0,当表达式执行结果为失败或给出非法参数时返回1。 注意 该命令等价于 。编写 bash 条件表达式可用内建命令 , ,组合命令 ;参考文章:Linux常用命令—test命令

Dontla的博客 763

linux test 命令,Linuxtest命令、test命令

Linux中的test命令test命令可以检测一个文件或者目录是否存在,或者对一个文件或目录的读写权限等等常见语法test -选项 文件或目录-e 文件名是否存在,存在$?返回0也就是true-f 文件名是否存在,且为文件 存在$?返回0-d 文件名是否存在,且为目录 存在$?返回0-L 文件名是否存在,且为链接文件 存在$?返回0-r -w -x 这三个是单选项,文件名是否存在,并且具有可读...

weixin_32637683的博客 1761

linux查看test文件夹,如何在Linux中使用test命令

Linux系统中有时需要检测某个条件是否成立,那么就要用到test命令了,Linux下test的用法有很多,下面就随小编一起来学习下Linux系统中如何使用test命令吧。1.判断一个命令的结果使用test,其返回0,或一个整数。返回0表示true,返回整数表示错误码2.获取上一个命令的返回结果使用$?3.例如我的服务器上面存在/home/www这样一个文件夹,所以ls /home/www这个命令...

weixin_42361153的博客 2055
上一篇: 国际会议
下一篇: shell脚本中的特殊符号
nuoline
码龄18年 345粉丝 247原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值