#linux
Знакомлюсь с Линукс. Хочу создать псевдоним рекурсивного копирования с выводом DONE, если все прошло успешно. $ alias cpRI="cp -ri $ $ && echo "DONE"" Как сделать, чтобы пользователь на месте знаков доллара мог вводить путь к каталогам?
Ответы
Ответ 1
Алиасы не предназначены для таких действий. Но это можно сделать с помощью объявления функции: function cpRI { cp -ri "$1" "$2" && echo "DONE"; } Данный код можно разместить в файле ~/.bash_aliases, а "подключить" в bash путем добавления в ~/.bashrc следующего: if [ -f ~/.bash_aliases ]; then . ~/.bash_aliases fi Либо: alias cpri="cp -ri" Но тогда использовать так: cpri srcFolder destFolder && echo DONE PS. Linux-way: если команда выполнилась успешно - она ничего не выводит. Вы пытаетесь повторить dos-way, сообщая "Все хорошо". На этот случай намного лучше: результат выполнения команды можно получить через $? - просто напечатайте и увидите код ошибки или ноль это $? можно использовать для подсветки приглашения командной строки (красить красным) - легко ищется по bash prompt color error некоторые команды имеют многословный режим "verbose" - выводится все дополнительная информация
Комментариев нет:
Отправить комментарий