2015-09-26 2 views
0

Я пытаюсь запустить чрезвычайно простой скрипт bash, который запускает некоторые команды в оболочке. На данный момент, все это состоит из является:Simple Bash Script говорит Команда не найдена

#!/bin/bash 

eos 

Где «ЭОС» является вполне законны команда, которая работает прекрасно на сервере, я использую, если я запустить его вручную на одной и той же оболочки.

Однако, когда я CHMOD + х и выполнить этот сценарий, я получаю ошибку:

Кто-нибудь есть какие-либо идеи, почему он не будет подавать эти команды?

Заранее благодарен!

+2

не 'eos' просто псевдоним? – ewcz

+2

Попробуйте 'type eos', чтобы узнать, что такое' eos'. – choroba

+0

Вы, парни, правы! Я даже не думал о том, что eos является псевдонимом (и я не знал, что вы не можете использовать псевдонимы в сценариях bash). В любом случае я просто напечатал весь псевдоним, и теперь он отлично работает. Благодаря! – khfrekek

ответ

4

Какой пользователь выполняет сценарий? Я подозреваю, что проблема с окружением или pwd, хотя возможны разрешения. Попробуйте использовать полный путь к eos или настройте необходимую среду в скрипте.

+0

Спасибо, я даже не думал о том, что eos является псевдонимом (и я не знал, что вы не можете использовать псевдонимы в сценариях bash). В любом случае я просто напечатал весь псевдоним, и теперь он отлично работает. Благодаря! – khfrekek

1

В unix-оболочке ошибка «команда не найдена» возникает, когда каталог, в котором находится команда, не находится в PATH (переменная env), которая выполняется для поиска команды.

Решение этой проблемы является либо любой из 2-х подходов, указанных ниже

а) изменение PATH и экспорта PATH переменной либо в скорлупе загрузочных файлов или профилей пользователей

export PATH=$PATH:/eos-command-directory-location/ 

б) запустить ЭОС команда в сценарии оболочки, которую вы разработали с полным путем

+0

1. Вам не нужно экспортировать переменную 'PATH' (она, скорее всего, уже отмечена как экспортированная). 2. У вас есть опечатка в вашем назначении: пути разделяются двоеточием. 3. Вам нужно указать расширение переменной PATH. 4. Вы читали, что проблема OP решена и вы заметили, что проблема, о которой он говорил, не упоминается в вашем ответе? (так что ваше утверждение - решение этого является либо одним из двух подходов, упомянутых ниже, это неверно). –

+0

исправлена ​​опечатка, спасибо – iam