Cannot understand command substitution in Fish shell
问题 In sh: ~$ `echo ls` bin/ Desktop/ But in fish: fish: Illegal command name “(echo ls)” ~% (echo ls) (Note that the error message appears above the command line.) ~% echo (echo ls) ls ~% eval (echo ls) bin/ Desktop/ fish: Illegal command name “(echo ls)” exec (echo ls) ^ ~% exec (echo ls) It seems that command substitution only works as parameters of a command, not as a command itself? Why? Well, the help doc does say If a parameter contains a set of parenthesis, the text enclosed by the