0

目的是[ x"$1" != x"" ]什么?

查看 xdg-screensaver,运行的第一个命令:

[ x"$1" != x"" ] || exit_failure_syntax

shebang 是#!/bin/sh(这对我来说是破折号)。

我在其他旧的 shell 脚本中发现了类似的语法……这样做的目的是什么?

我想有一个旧习惯使用|| 而不是 && 退出...也许与set -e. 但是为什么不直接使用类似[ -n "$1" ] || exit_failure_syntax, -z, $# -ne 0, 等等...

正如我所提到的,我以前见过这种奇怪的x"$var" = x""东西。为什么会有人这样做?

4

1 回答 1

1

请参阅哪个 `[` 不能比较空字符串?

这是一种老式的测试变量是否为空或不存在的方法。

于 2016-02-17T10:53:50.177 回答