DockerコンテナのIPを取得するためにエイリアスを作成しようとしています。コマンドは次のとおりです。
docker inspect redis | grep IPAddress | awk 'NR==3{ print $2 }' | sed 's/[^"]*"\([^"]*\)".*/\1/'
コマンドラインから起動すると正常に動作します。次に挿入しますbash_aliases
。
alias redis-ip="docker inspect redis | grep IPAddress | awk 'NR==3{ print $2 }' | sed 's/[^"]*"\([^"]*\)".*/\1/'"
ただし、起動時にredis-ip
次のエラーが発生します。
sed: -e expression #1, char 19: invalid reference \1 on `s' command's RHS
誰でもエラーが何であるかを教えてもらえますか?
ベストアンサー1
これを行うには、エイリアスの代わりにシェル関数を使用してください。
function redis-ip {
docker inspect redis |
grep IPAddress |
awk 'NR == 3 { print $2 }' |
sed 's/[^"]*"\([^"]*\)".*/\1/'
}
必要に応じて動作する場合は、コマンドが何を出力するのかわからsed
ないので、わかりません。docker