Не удается выполнить скрипт bash в redhat linux

#linux #bash #shell

#linux #bash #оболочка

Вопрос:

Я пишу простой сценарий оболочки для очистки файлов журналов в redhat:

Имя файла: clean.sh

 #!/bin/bash
rm -f *.log core.*
  

Но когда я набрал чистый или clean.sh , это всегда подсказывает

 -bash: clean: command not found
-bash: clean.sh: command not found
  

В чем проблема?

Ответ №1:

Вероятно, у вас нет . (текущего каталога) в вашем $PATH (и это хорошо; наличие . в вашем $PATH может быть опасным.)

Попробуйте это:

 ./clean.sh
  

И если имя файла сценария clean.sh равно, вы не можете запустить его как просто clean , с каталогом или без него. Имя файла clean.sh , и именно так вам нужно его выполнить.

Или вы можете изменить имя с clean.sh на просто clean . Unix-подобные системы (включая Linux) не зависят от расширений файлов, как это делает Windows.

Ответ №2:

проблема 1: возможно, разрешение на выполнение clean.sh не установлен. Сделайте это:

 chmod  x ./clean.sh
  

проблема 2: RH Linux по умолчанию не включает CWD в path. Итак, когда вы находитесь в том же каталоге, что и clean.sh , тип:

 ./clean.sh
  

Это должно выполнить его.

Комментарии:

1. Как вы и сказали, у него нет разрешения exe и его нужно добавить./