Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.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
Bash';如果';变化_Bash_If Statement_Syntax - Fatal编程技术网

Bash';如果';变化

Bash';如果';变化,bash,if-statement,syntax,Bash,If Statement,Syntax,bash中的以下if语句之间有什么区别吗 if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then if [ -z "$debian_chroot" -a -r /etc/debian_chroot ]; then 我更喜欢哪个?这些是否“更好”并非所有较旧(POSIX之前)的shell都提供-a,因此在尝试便携时,您应该更喜欢& 也就是说,如果您只支持bash,请使用其内置的[[]]功能,该功能允许在测试内部

bash中的以下if语句之间有什么区别吗

if [ -z "$debian_chroot" ] && [ -r /etc/debian_chroot ]; then
if [ -z "$debian_chroot" -a  -r /etc/debian_chroot ]; then

我更喜欢哪个?这些是否“更好”

并非所有较旧(POSIX之前)的shell都提供
-a
,因此在尝试便携时,您应该更喜欢
&

也就是说,如果您只支持bash,请使用其内置的
[[]]
功能,该功能允许在测试内部而不是外部进行
&
(另外,还可以选择引用):


另请参见并非所有较旧(POSIX之前)的shell都提供
-a
,因此在尝试便携时,您应该更喜欢
&

也就是说,如果您只支持bash,请使用其内置的
[[]]
功能,该功能允许在测试内部而不是外部进行
&
(另外,还可以选择引用):


另请参见

首选第一种。有关原因,请参阅的“应用程序用法”部分。简而言之,
-a
是一个扩展名,由于某些表达式的含义不明确而被标记为已过时。

首选第一个扩展名。有关原因,请参阅的“应用程序用法”部分。简而言之,
-a
是一个扩展名,由于某些表达式的含义不明确而被标记为已过时。

第一个扩展名似乎更清楚,请注意
如果
与问题无关,您可以使用
[
即使没有它。第一个似乎更清楚,请注意,
如果
与问题无关,即使没有它,您也可以使用
[
[[ -z $debian_chroot && -r /etc/debian_chroot ]]