Рыбный эквивалент нотации bash $(command)

В настоящее время я пробую рыбную оболочку вместо использования bash. Один из типов обозначений, для которого у меня возникли проблемы с изучением обозначения, эквивалентного рыбе, - это $(command), аналогично тому, как оно описано в этот пост SOF. Как мне написать это, используя рыбу? Имейте в виду, что я мог бы использовать символы обратной косой черты вокруг команды, которую я хочу оценить, но связанный пост и другие сообщения не одобряют этого, потому что это старый стиль оценки команд.

В частности, это команда bash, которую я хочу преобразовать в синтаксис fish (для инициализации rbenv во время запуска оболочки):

eval "$(rbenv init -)"

person ecbrodie    schedule 06.10.2013    source источник
comment
Согласно этой записи в часто задаваемых вопросах о рыбах, подкоманды обозначаются заключая их в скобки. например, set foo (echo bar); echo $foo выводит bar.   -  person iscfrc    schedule 06.10.2013


Ответы (2)


В fish $ используется только для переменных. Правильная нотация, эквивалентная bash $(command), это просто (command) в fish.

person Phlogisto    schedule 04.01.2014
comment
eval (docker-machine env default --no-proxy --shell=fish) :D тоже спасибо за помощь - person Leo Cavalcante; 17.01.2017

К вашему сведению: если вам дополнительно нужно использовать это внутри строки:

echo "Found "(count $PATH)" paths in PATH env var"
person Jairo Andres Velasco Romero    schedule 13.04.2020
comment
Таким образом, нет возможности временно закрыть котировку и сразу же снова открыть ее. fishshell.com/docs/current/tutorial.html#command-substitutions - person aasutossh; 04.06.2021