実行のためにスクリプトの内容を bash にパイプするときに、bash スクリプトにオプションを提供しようとしています。
#!/bin/bash
SETUP_PACKAGES=""
while getopts ":u:" opt; do
case $opt in
p)
if [[ "$OPTARG" =~ "mysql" ]] ; then SETUP_PACKAGES="$SETUP_PACKAGES mysql-client libmysqlclient-dev"; fi
;;
# other parts omitted...
esac
done
シェルのようにスクリプトを実行すると./script.sh -p mysql
うまくいきます。目的はスクリプトをリポジトリに保存することなので、試してみcurl -L example.com/my/script | bash -p mysql
ました。ただし、これはスローし/usr/bin/mysql: /usr/bin/mysql: cannot execute binary file
ます。
目標を達成するために何をする必要がありますか?