if 文で [ "x$var" = "x" ] とする理由は？


シェルスクリプトをみていると、

[code]

    if [ "x$var" = "x" ]; then
        : ...
    fi
    
[/code]

のような記述をしばしば見かけます。

`[ -z "$var" ]` や `[ "$var" = "" ]` ならばまだわかりますが、 `x` をわざわざはさむ理由は何ですか？




[Bashのよくある間違い](https://yakst.com/ja/posts/2929)  
の 4. を参照ください。  
var=-f などの場合、エラーとなるシェルがある(あった)という理由だそうです。




[Bashのよくある間違い](https://yakst.com/ja/posts/2929)  
の 4. を参照ください。  
var=-f などの場合、エラーとなるシェルがある(あった)という理由だそうです。

