Я плохо знаком с Linux, и у меня есть сценарий оболочки (.sh) файл I на моем Рабочем столе, который я хочу выполнить. Это шаги, которые я сделал:
Это - содержание test.sh
файл на моем Рабочем столе:
#!bin/bash
#test.sh
echo "test"
Я хочу работать (Выполняются) test.sh
через терминал. Это команды, которые я использую:
cd Desktop
Я даю разрешение работать test.sh
с:
chmod +x test.sh
и затем попытайтесь открыть файл:
test.sh
Но я получаю эту ошибку:
test.sh: command not found
и когда я вхожу, test.sh с./снова получают эту ошибку:
удар:./test.sh: мусорное ведро/удар: плохой интерпретатор: Никакой такой файл или каталог
Что я делаю неправильно?
удар:./test.sh: мусорное ведро/удар: плохой интерпретатор: Никакой такой файл или каталог
Замена:
#!bin/bash
С:
#!/bin/bash
bin/bash
путь относительно текущего каталога. /bin/bash
полный путь, который работает, что текущий каталог.
кроме того, взгляните на свой ПУТЬ:
echo $PATH
, Если Вы помещаете test.sh
в каком-либо каталоге, перечисленном туда и Вы, желание будет в состоянии выполнить его без ./
или другой спецификатор пути. Многие люди создают $HOME/bin
каталог, помещают все свои сценарии туда и добавляют его к своему ПУТИ.
Чтобы быть в состоянии выполнить Ваш сценарий удара, измените первую строку на
#!/bin/bash
, Который является двоичным файлом, который интерпретирует и выполнит Ваш сценарий.
Для выполнения сценария удара сделайте следующий
./scriptname.sh
В примере:
./test.sh
в каталоге, где у Вас есть сценарий.
Я отредактировал .sh файл на машине Windows и видел подобную проблему. Проблема была устранена после выполнения dos2unix
на сценарии.