Строка shebang не работает в R script

У меня есть следующий script

#!/usr/bin/Rscript

print ("shebang works")

в файле с именем shebang.r. Когда я запускаю его из командной строки с помощью Rscript, он работает

$ Rscript shebang.r

но когда я запускаю его только из командной строки

$ shebang.r

Это не работает. Команда shebang.r не найдена.

Если я набираю (на основе других примеров, которые я видел)

$ ./shebang.r

Я получаю разрешение на отказ.

Да, Rscript находится в каталоге/usr/bin

Ответ 1

Сделайте исполняемый файл.

chmod 755 shebang.r

Ответ 2

В дополнение к ответу Sjoerd... Проверяются только команды, перечисленные в переменной окружения PATH для запуска команд. Вам нужно ввести ./shebang.r (в отличие от просто shebang.r), если текущий каталог, известный как ., не находится в вашем PATH.

Чтобы проверить PATH, введите

echo $PATH

Чтобы добавить . в PATH, введите

export PATH="$PATH:."

Вы можете добавить эту строку в свой ~/.bashrc, чтобы это произошло автоматически, если вы открываете новую оболочку.