Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux if语句中存在未知错误_Linux_Bash_If Statement_Command_Raspbian - Fatal编程技术网

Linux if语句中存在未知错误

Linux if语句中存在未知错误,linux,bash,if-statement,command,raspbian,Linux,Bash,If Statement,Command,Raspbian,在bash脚本中的if语句中出现未知错误: Bash脚本: 您的[和]周围需要空格 为什么? [是一个命令 tim@Hairy16:~$ ls /usr/bin [ 尝试如果[$TIMESINCELASTMOD\和您需要在[/code>和]周围留出空格 为什么? [是一个命令 tim@Hairy16:~$ ls /usr/bin [ 尝试如果[$TIMESINCELASTMOD\

在bash脚本中的
if
语句中出现未知错误:

Bash脚本:
您的
[
]
周围需要空格

为什么?

[
是一个命令

tim@Hairy16:~$ ls /usr/bin
[
尝试
如果[$TIMESINCELASTMOD\<$delay];则

在bash中,命令周围需要空格


此外,您需要使用
-lt
-gt
-le
-ge
而不是
前面的
。它们意味着小于、大于、小于或等于以及大于或等于。

[/code>和
您需要在
[/code>和
]周围留出空格

为什么?

[
是一个命令

tim@Hairy16:~$ ls /usr/bin
[
尝试
如果[$TIMESINCELASTMOD\<$delay];则

在bash中,命令周围需要空格


此外,您需要使用
-lt
-gt
-le
-ge
而不是
前面的
。它们的意思是小于、大于、小于或等于、大于或等于。

[
后面和
]
前面加一个空格,如果[$TIMESINCELASTMOD
…是您的朋友,请检查您的脚本中的所有语法问题。这无疑是重复的;在
[
之前和之后添加空格可以解决很多问题
@KeithThompson可能是的,但我不知道该搜索什么,因为我不知道问题出在
[
之后和
]
之前的行
如果[$TIMESINCELASTMOD
…是您的朋友,请检查您的脚本中的所有语法问题。这无疑是重复的;在
[
之前和之后添加空格可以解决很多问题
@KeithThompson可能是的,但我不知道该搜索什么,因为我不知道问题是什么谢谢你,解决了问题,你为我节省了很多时间!@JoshuaWeber如果可以,请接受这个答案以显示问题已解决!@JoshuaWeber单击向下箭头下方的勾号。完成!祝您愉快,先生。@JoshuaWeber:事实上,如果我理解脚本正在做什么,您必须使用
-le
-gt
等,因为它们进行数字比较而不是词汇比较。区别在于
[5-lt 100]
是真的,但是
[5\<100]
是假的,因为“5”在“1”之前按照词法排序顺序。或者使用双括号表达式(例如
((TIMESINCELASTMOD
),它们完全是算术表达式(和自动展开变量,不需要转义大于或小于符号)。谢谢你,解决了问题,你为我节省了很多时间!@JoshuaWeber如果可以的话,请接受这个答案以表明问题已经解决!@JoshuaWeber单击向下箭头下方的勾号。完成了!祝您愉快,先生。@JoshuaWeber:事实上,如果我理解脚本的作用,您必须使用
-le
-gt
,等等,因为它们进行数值比较而不是词法比较。区别在于
[5-lt 100]
为真,但
[5\<100]
为假,因为在词法排序顺序中“5”位于“1”之前。或者使用双括号表达式(例如
((TIMESINCELASTMOD
,它们完全是算术表达式(和自动展开变量,并且不需要转义大于号和小于号)。
tim@Hairy16:~$ ls /usr/bin
[