コマンドライン引数をテストするbashステートメントがあります。スクリプトに渡された引数が「clean」の場合、スクリプトはすべての.oファイルを削除します。それ以外の場合はプログラムをビルドします。ただし、何でも渡されても、スクリプトはまだ "clean"パラメータが渡されたと見なします。
#!/bin/bash
if test "`whoami`" != "root" ; then
echo "You must be logged in as root to build (for loopback mounting)"
echo "Enter 'su' or 'sudo bash' to switch to root"
exit
fi
ARG=$1
if [ $ARG=="clean" ] ; then
echo ">>> cleaning up object files..."
rm -r src/*.o
echo ">>> done. "
echo ">>> Press enter to continue..."
read
else
#Builds program
fi
答え1
[
引数をスペースで区切る必要があります。また、恒等演算子は単一で=
あるため、両方を引用する必要があります。
if [ "$ARG" = "clean" ]; then