изменение каталога в файле скрипта bash [duplicate]

На этот вопрос уже есть ответ здесь:

Я провел много времени в мире DOS, где cd.. (без места) работает.

Я попытался сделать то же самое в ubuntu, определив файл bash в /usr/local /bin с именем "cl.."

его тело

#!/bin/bash
cd ..

У меня есть chmod +x в файле.

Это не работает, ubuntu не жалуется на то, что команда не найдена.

Что я сделал не так?

0
задан 20 April 2018 в 16:13

1 ответ

Сценарии оболочки Unix очень отличаются от bat-файлов DOS в некотором смысле, что они выполняются как отдельные процессы, не просто загрузив команды в текущую командную строку, поскольку это с окнами cmd.exe

, Что Вы действительно хотите, на самом деле псевдоним удара или функция.

И alias cd..='cd ..' и cd..() { cd ..; } добьется цели, сначала каждый определяет псевдоним, второй функция оболочки.

для предоставления доступа к этому доступным в следовании за оболочками также, это должно быть записано в в .bash_profile, .bashrc или .profile файл в корневом каталоге. Какой файл точно, зависит от Ваших настроек распределения, проверьте man bash, /etc/profile и /etc/*bashrc для деталей.

man bash поможет Вам далее с доступными командами.

, Если Вы ищете более удобную для пользователя оболочку, чем удар, затем я предлагаю, чтобы Вы изучили zsh пакет.

3
ответ дан 1 October 2019 в 01:51

Другие вопросы по тегам:

Похожие вопросы: