Дополнительно
Получение и"команда не найдена ошибка" ошибка при сравнении двух строк в bash
Весь мой сценарий в настоящее время это:
#!/bin/sh
clear;
blanko="";
# Dummy-Variablen
variable=Testvariable;
if [[$variable == $blanko]];
then
echo "Nichts da!"
else
echo $variable
fi
и если я введите
TestSelect.sh
я вам
/usr/bin/TestSelect.sh: line 6: [[Testvariable: command not found
Testvariable
как я могу это исправить?
50
3
Это проблема:
Требуется наличие пробелов внутри квадратных скобок, использовать его как это:
На соответствующую записку, требуется наличие пробелов вокруг
[ ]
, а также:Обратите внимание, что переменные должны быть заключены в двойные кавычки внутри
[ ]
, чтобы предотвратить разбиение на слова и подстановка. Двойные кавычки также помогают при любой из переменных по сравнению не установлено - оболочки будут бросать синтаксическую ошибку в противном случае.Посмотрите на следующий пост, чтобы понять, зачем нужны пробелы вокруг
[ ]
:Еще похожие сообщение, что переговоры о других синтаксических элементов, которые также нужны пробелы:
Наконец, этот пост говорит о разнице между
[[ ]]
и[ ]
:Связанные:
Просто используйте
#!/бин/баш на верхней части скрипта, если вы используете bash скриптов, таких как:
если [[раздел $ = = и" раздел/dev/sda2-то" ]]; затем, чтобы сравнить строку и запустить скрипт./scriptname.sh или Баш scriptname.sh