search
LoginSignup
5

More than 5 years have passed since last update.

posted at

Fish Shell で、文字列内でサブコマンドの結果を展開

Fish は便利なんだけど、ところどころ互換性が無くて、Bash/Zsh前提に作られているチュートリアルで困る。

Fish Shell では文字列内でサブコマンドの結果を展開することができない。

やりたいこと

bash
curl -L "https://hoge.com/docker-compose-$(uname -s)-$(uname -m)" \
    -o /usr/local/bin/docker-compose

方法1

予め変数に入れる

set uname_s (uname -s)
set uname_m (uname -m)
curl -L "https://hoge.com/docker-compose-$uname_s-$uname_m" \
    -o /usr/local/bin/docker-compose

方法2

つなげる

curl -L "https://hoge.com/docker-compose-"(uname -s)"-"(uname -m) \
    -o /usr/local/bin/docker-compose

方法3

Fishを諦めてBashにする

bash -c 'curl -L "https://hoge.com/docker-compose-$(uname -s)-$(uname -m)" \
    -o /usr/local/bin/docker-compose'

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
5