タグ: curl

curl経由で実行するシェルスクリプトで標準入力を使いたい

症状

.gitconfigはGitで管理しておいて、git config user.name/user.emailは管理したくない | misty-magic.h
にある

GIT_CONFIG_LOCAL=~/.gitconfig.local
if [ ! -e $GIT_CONFIG_LOCAL ]; then
  echo -n "git config user.email?> "
  read GIT_AUTHOR_EMAIL

  echo -n "git config user.name?> "
  read GIT_AUTHOR_NAME

  cat < $GIT_CONFIG_LOCAL
[user]
  name = $GIT_AUTHOR_NAME
  email = $GIT_AUTHOR_EMAIL
EOF
fi

を含んだコードをgithubに保存し、

以下のような、よくあるcurlを使った呼び出し方

curl https://raw.githubusercontent.com/mistymagich/dotfiles/master/install.sh | bash

をすると、標準入力部分で入力待ちにならず、そのままエラー終了(終了コードが1)してしまう。

解決

linux – Execute bash script from URL – Stack Overflow

より、呼び出し方を変える

bash <(curl -s https://raw.githubusercontent.com/mistymagich/dotfiles/master/install.sh)

※"<"と"("を離すとbashの構文エラーになるので注意

広告