Изменение каталога в файле 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
пакет.