Bash if prohlášení [: chybí `] ' chyba [duplikát]

Tato otázka již má odpovědi zde :

Komentáře

  • Pro ty, kteří se zajímají: nejde o víceřádkové příkazy!
  • Pokud si chcete jen ověřit, zda se ve výstupu příkazu objeví řetězec Shared možná budete chtít zvážit použití stavu ukončení grepu přímo, např ipcs | { if grep -q "Shared"; then echo "true"; else echo "false"; fi } nebo ipcs | grep -q "Shared" && echo "true" || echo "false" – viz unix.stackexchange.com/a/48536/65304 například

Odpověď

Vaše missing ]" Chyba je v tom, že potřebujete mezeru mezi "Shared" a ], takže řádek by měl být if [ "$(ipcs | grep Shared | awk "{print $2}")" == "Shared" ]; then.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *