Походит на что-то потенциально с Вашей клавиатурой или Вашей установкой. Я использую оба из следующего в Gnome:
Эта статья является конкретной Ubuntu, но должна быть применима к Вашей ситуации на RHEL6 не меньше.
Двойная проверка, чтобы предпочтения были установлены так, чтобы перемещение справа налево было настроено правильно для ключевой комбинации, упомянула выше:
Попробуйте "./a.sh" при попытке выполнить его. Он должен знать, где находится файл.
"./" говорит ему искать в текущем каталоге.
Как я уже писал в другом вопросе, иногда можно получить файл, не найденный ошибкой, даже когда вы выполняете скрипт как ./scriptname
. Как я написал в другом вопросе ответе, вы можете протестировать его на своей машине.
Тестирование
cat ksh_experiment.ksh
#!/usr/bin/ksh
echo "Hello"
Теперь после предоставления разрешений, когда я запустил файл, он успешно выдал результат. Теперь, как обсуждалось в здесь, я вставил некоторые возвращаемые каретки в свой файл. Теперь, когда я запустил скрипт, я получил результат, так как,
ksh: ./ksh_experiment.ksh: not found [No such file or directory]
Now, cat -v ksh_experiment.ksh
тоже выдал тот же результат. Также, если я набрал vim ksh_experiment.ksh
, то открывался новый файл.
Как обсуждалось в ответе на ссылку, которую я предоставил, я удалил возврат каретки с помощью команды,
perl -p -i -e "s/\r//g" ksh_experiment.ksh
После исправления, когда я запустился, я получил результат, как и ожидалось.
Теперь вы можете использовать dos2unix
, а также преобразовать файл.
При вводе команды оболочка ищет команду из списка каталогов, заданного переменной PATH
.
Текущая директория не находится по умолчанию в PATH
(из соображений безопасности), поэтому оболочка не может найти ваш скрипт.
Используя ./
, имея в виду текущую директорию, shell знает, где находится ваш скрипт.