Искам да изпълня командата:
$ cd which automator
така че възстановената стойност, чрез която автоматизаторът се предава на cd. Аз погледнах навсякъде и не мога да намеря прост отговор. Запази ме!
Отговори:
3 за отговор № 1Вероятно търсите:
cd "$(dirname "$(which automator)")"
Като цяло имате нужда
$(...)
- а командно заместване - да използва изхода от команда като аргумент към друга команда.В този случай, защото
which automator
връща а досие път, от което се нуждаете 2 команди замествания: първата, за да получите пътя на изпълнимия файл сwhich
, втората за извличане на указател път от него сdirname
.Двойното цитиране на заместванията на командите обикновено е правилното нещо, което трябва да направите. Ако не, командният изход е предмет на разделяне на думи и глобулиране (които са два случая на shell разширения), което рядко е това, което искате.