Изменение каталога в файле bash-скрипта
Я провел много времени в мире DOS, где работает CD (без пробела).
Я попытался сделать то же самое в Ubuntu, определив файл bash в /usr/local /bin с именем "cl.."
его тело
#!/bin/bash
cd ..
У меня есть chmod +x в файле.
Это не работает, Ubuntu не жалуется на команду не найдена.
что я сделал не так?
1 ответ
Сценарии оболочки Unix сильно отличаются от файлов bat DOS в том смысле, что они выполняются как отдельные процессы, а не просто загружают команды в текущую командную строку, как это происходит с окнами. cmd.exe
То, что вы действительно хотите, это псевдоним или функция bash.
И то и другое alias cd..='cd ..' а также cd..() { cd ..; } будет делать трюк, первый определяет псевдоним, второй - функцию оболочки.
Чтобы сделать его доступным и в последующих оболочках, его следует записать в .bash_profile, .bashrc или же .profile файл в вашем домашнем каталоге. Какой именно файл, зависит от ваших настроек распространения, проверьте man bash, /etc/profile а также /etc/*bashrc для деталей.
man bash поможет вам в дальнейшем с доступными командами.
Если вы ищете более удобную оболочку, чем bash, то я предлагаю вам изучить zsh пакет.