小さな bash スクリプトがありますbuild1c.sh
。
if [ "$1" = "" ]; then
echo "You must give a .c file to compile."
exit 1
fi
cfile=$1
stem=${cfile%.*}
set -o verbose
gcc -c -g -Wall $cfile
gcc -o $stem $stem.o common.o reentrant.o -lssl -lcrypto
set +o verbose # optional here
意図は、実行中の gcc コマンドのみをエコーすることです。私はある程度働いています。を呼び出すとbuild1c.sh client2.c
、出力が表示されます
gcc -c -g -Wall $cfile
gcc -o $stem $stem.o common.o reentrant.o -lssl -lcrypto
set +o verbose # optional here
まだ奇抜ですよね?これらの var reference( $cfile
, $stem
) は最終的な形式を取得しないため、エコーはほとんど役に立たなくなります。
私が見たいのは
gcc -c -g -Wall client2.c
gcc -o client2 client2.o common.o reentrant.o -lssl -lcrypto
これに対処するための正確で簡潔な方法はありますか?
ところで: ちょっとしたリクエスト:set +o verbose
自分自身のエコーを抑制できますか?