2016-12-21 3 views
2

Ich habe einen Code gelesen, der von einer anderen Person in bash geschrieben wurde. Es enthält den folgenden Code,

[[ ${variable} ]] 

Es scheint, es funktioniert wie

[[ -n ${variable} ]] 

Ist es richtig?

Antwort

3

Ja, ohne Option innerhalb [[ ([[ ist ein bash Schlüsselwort obwohl), ist das Verhalten genau gleiche die -n Option zu verwenden, dh es überprüft wird, wenn die Zeichenfolge nicht leer ist (dh Länge> 0) und gibt Exit status 0 wenn die Zeichenfolge nicht leer ist, wie Sie sich vorstellen können.

+0

danke für die antwort. Bitte lassen Sie mich ein bisschen mehr fragen. Wenn die Variable als Ganzzahl definiert ist, gibt es ein Problem? – mora

+2

@mora Nein, wie ich schon sagte, es überprüft nur die Länge, sonst nichts. Beachten Sie, dass die Integer-Tests unterschiedlich sind und "-gt", "-lt" usw. Optionen verwenden, "-n" ist ein reiner Stringtest. – heemayl

+0

danke nochmal. – mora