[ x"$1" != x"" ]
的目的是什么?
查看 xdg 屏幕保护程序,运行的第一个命令:
[ x"$1" != x"" ] || exit_failure_syntax
舍邦是#!/bin/sh
(这对我来说是破折号)。
我在其他旧的 shell 脚本中发现了类似的语法......这样做的目的是什么?
我想有一个旧习惯是使用||而不是&&退出...也许与set -e
有关.但是为什么不直接使用[ -n "$1" ] || exit_failure_syntax
、-z
、$# -ne 0
等东西呢?
正如我提到的,我以前见过这种奇怪的x"$var" = x""
东西。为什么有人会这样做?
请参阅哪个 '[' 不能比较空字符串?
这是一种老式的测试变量是否为空或不存在的方法。