Моя консоль не может распознать команду ic в скрипте bash.
Мне нужно выполнить эту команду, чтобы сделать некоторые вычисления, но я получаю это сообщение ic: command not found
.
Как я мог определить это в bash?
Моя консоль не может распознать команду ic в скрипте bash.
Мне нужно выполнить эту команду, чтобы сделать некоторые вычисления, но я получаю это сообщение ic: command not found
.
Как я мог определить это в bash?
Получаемое сообщение об ошибке указывает на то, что команда ic
отсутствует ни в одном из каталогов, содержащихся в переменной среды PATH
.
Чтобы найти каталоги, в которых bash выполняет поиск исполняемых файлов, введите в командной строке следующую команду
echo $PATH
Если вы знаете, где находится команда ic
в вашей файловой системе, вы можете указать полный путь к ic в вашем bash-скрипте, чтобы он не использовал переменную среды PATH для ее поиска.
Допустим, что ic был в каталоге /usr/local/bin
тогда в вашем bash-скрипте вы могли выполнить ic, введя.
/usr/local/bin/ic
скорее, чем
ic
Сообщение ic: command not found.
указано, что команда ic не найдена. Другими словами, он не находится ни в одном из мест, где ваша оболочка ищет команду.
Обычно это происходит потому, что команда находится в текущем каталоге, который (в отличие от окна по умолчанию) не находится в пути поиска по умолчанию.
Если это так, то вы можете либо начать с предоставления полного пути, либо добавить путь, по которому он находится, к пути поиска.
Примеры:
/usr/local/bin/ic
для запуска программы под названием ic в папке /usr /local /bin //opt/bin/ic
для запуска программы под названием ic в папке /opt /bin /./ic
запустить программу с именем ic в текущем каталоге.PATH=:$PATH:.
а не PATH=.:$PATH
. ($ PATH - старый путь, colomn - разделитель, точка - текущий каталог.Если ic является скриптом, вы также можете запустить его, вызвав его интерпретатор.
Например, если ic это bash-скрипт, вы можете использовать /usr/local/bin/bash ic
Если ic является сценарием и текущий каталог уже находится в вашем пути, проверьте следующие три вещи:
chmod +x ic
).#!
в самой первой строке скрипта. Это должна быть первая строка. Нет пустых строк над ним. Для скрипта bash правильная запись #!/usr/local/bin/env bash
. (#!/usr/local/bin/bash
также будет работать, если ваш bash находится в /usr /local /bin, но если вы переместитесь в другую систему, где она установлена в другом месте, вам нужно будет отредактировать этот файл. Программа env (которая всегда устанавливается в одном и том же месте) решает эту проблему.)bash^M
, и это может быть неочевидно, когда полезно (как в редакторе полезных стилей в стиле «плавный стиль», он решает помочь вам, не показывая ^ M).ic
теперь называется nickle
, как объяснено здесь. Вы можете получить его с nickle.org , но было бы лучше, если бы вы могли использовать менеджер пакетов вашего дистрибутива, так как я думаю, что у него есть некоторые зависимости. Например, в системе Ubuntu вы можете установить ее с
sudo apt-get install nickle
Затем вы можете либо изменить свой сценарий на использование nickle
вместо ic
, либо связать nickle
с ic
, например,
ln -s /usr/bin/nickle ~/bin/ic