Я должен изменить каталог на «foo», когда он станет доступным. Как это сделать? Это далеко я придумал:
cd `ls | grep foo`
Но проблема в том, что если нет совпадения для grep, каталог меняется на домашний каталог.
Я использовал другой подход:
ls -1 | grep foo | xargs -r cd
В этом примере -r заботится о том, чтобы команда не выполнялась, если совпадений нет. Но это не работает, поскольку команда cd является встроенной оболочкой, а не исполняемым файлом. Или что-то типа того..
[править] Спасибо за ответы. Если возможно, не могли бы вы также сказать, как каким-то образом объединить упомянутую функциональность с grep, чтобы я мог использовать расширенное регулярное выражение?