2017-06-20 2 views
1

Im Folgenden werde ich die folgendenkann ein Array mit und verwendet werden?

if [[ -n $ip ]] && [[ -n $netmask ]] && [[ -n $gateway ]] && [[ -n $dns ]]; then 

haben, wenn alle Variable gesetzt werden dann true zurück, sonst false zurück

Gibt es einen besseren Weg, dies zu tun?

Antwort

2

Sie können für die Kürze gehen - [[ -n $ip ]] ist das gleiche wie [[ $ip ]]. Außerdem können Sie alle Variablen in ein Schlüsselwort eingeben:

if [[ $ip && $netmask && $gateway && $dns ]]; then 
+0

Das ist richtig. Ein anderer (kombinierter) Weg ist folgendes: [[-n "$ {ip} $ {Netzmaske} $ {Gateway} $ {dns}"]] –

+0

[[-n $ ip]] nicht dasselbe wie [[$ ip] ], weil mit 'ip = '' '1 return' false' und 2 return 'true' – beliy

+0

@beliy IIRC, unset und null sollten das selbe Ergebnis erzeugen ... – heemayl

Verwandte Themen