Подстановка команды Fish shell

Есть ли лучший способ сделать подстановку команд в рыбной оболочке?

В bash я могу сделать:

$ echo $(whoami) 
user

$ echo "I am: $(whoami)" 
I am: user

Но в рыбе похоже, что я должен сделать:

$ echo (whoami) 
user

$ echo "I am: (whoami)" 
I am: (whoami)

$ set who (whoami); echo "I am: $who" 
I am: user

Это рекомендуемый способ замены команды в fish, где замена должна происходить внутри строки в кавычках?


person ajorgensen    schedule 20.03.2014    source источник


Ответы (1)


Вы можете просто вытащить замену из кавычек

echo "I am:" (whoami)
person glenn jackman    schedule 20.03.2014
comment
ах, это имеет смысл. И я предполагаю, что если вы хотите, чтобы это было посреди чего-то, вы могли бы сделать эхо, я: (whoami), привет, мир!. Интересно, что он интерпретирует пробел между строкой и командой как буквальный пробел. echo "I am:" (whoami) ", hello world!" => I am: user , hello world! echo "I am:"(whoami)", hello world!" => I am:user, hello world! - person ajorgensen; 20.03.2014
comment
именно так работает эхо: эхо объединяет аргументы пробелом - person glenn jackman; 20.03.2014