Назад | Перейти на главную страницу

«Cd» в сценарии оболочки Linux возвращает «команда не найдена!»

Я написал сценарий оболочки под названием «a.sh» в Linux с одной строкой:

CD ..

: а затем я запускаю это с помощью:

chmod +x a.sh
sh ./a.sh

: как мне запустить это, не получив:

«Команда не найдена» или «Невозможно cd». Может, я слишком долго смотрел на этот код или что-то явно делаю неправильно?

Примечание: с тех пор я выяснил, что было не так. Emacs вставлял какой-то странный символ "^ m" в конце каждой строки

cd встроен в вашу оболочку. Что-нибудь вроде / usr / bin / cd или / bin / cd просто существует по странным магическим причинам.

Сначала запустите это.

which sh

Это выведет путь к вашему исполняемому файлу sh

Попробуйте добавить в свой сценарий shebang. Итак, весь файл выглядит так

#!/bin/sh
cd ..

Если это не сработает, поясните, какие шаги вы предприняли, как просил Стефан. А также вставьте точное сообщение об ошибке.

что, если вы поместите на это место / bin / cd.