Jak rozwiązać „polecenie nieznalezione” w powłoce bash Ubuntu?

4

Jestem bardzo nowy w Ubuntu, starając się znaleźć odpowiednie polecenie, aby zainstalować Zend Server na moim Ubuntu 9.10 Server.

Po pobraniu i rozpakowaniu serwera ZF próbuję uruchomić polecenie:

install_zs.sh 5.3

Oto lswyodrębnione archiwum ZF:

install_zs.sh  README  upgrade_zs_php.sh  zend.deb.repo  zend.rpm.repo

Ale to mówi command not found. Dowolny pomysł?

redcoder
źródło
Dobrym protokołem jest naciśnięcie klawisza Tab, aby automatycznie uzupełnić nazwy plików w terminalu bieżącego katalogu.
Jonno_FTW,
1
Zasadniczo, gdy próbujesz uruchomić polecenie, powłoka próbuje do niego podać znaną ścieżkę, abyś mógł uruchomić polecenie takie jak pwdz dowolnego katalogu bez konieczności określania, które z nich. Powłoka uruchomi pierwszy znaleziony program, który pasuje do twojego imienia. Jeśli prowadzisz coś NIE na znanej ścieżce, musisz określić ścieżkę. .jest bieżącym katalogiem, więc ./fileręcznie dodaje bieżący katalog do wywołania, aby filepowłoka nie musiała próbować wymyślić, który filechcesz.
Ritwik Bose,

Odpowiedzi:

8

Podczas wykonywania pliku wykonywalnego lub skryptu, który nie znajduje się w zmiennej środowiskowej „PATH” twojego systemu, musisz podać pełną ścieżkę do niego. „.” jest aliasem pełnej ścieżki bieżącego katalogu roboczego, więc ./install_zs.sh 5.3powinno działać.

Chciałbym zdecydowanie zasugerować, abyś przeczytał lub inną podobną dokumentację powłoki * nix, ponieważ manewrowanie wokół powłoki na oślep nigdy nie jest dobrym pomysłem.

Jessie
źródło
4

Zwykle w bieżącym katalogu nie są wyszukiwane pliki wykonywalne. Jeśli skrypt powłoki jest wykonywalny, możesz go użyć ./install_zs.sh 5.3do uruchomienia, w przeciwnym razie użyj sh install_zs.sh 5.3.

Ignacio Vazquez-Abrams
źródło
1

Znalazłem odpowiedź: musiałem chmod 755 plik: install_zs.sh, a po wykonaniu bez prefiksu „sudo”

Herlon Augusto
źródło