![gccでコンパイルされたスクリプトを書く[閉じる]](https://linux33.com/image/86381/gcc%E3%81%A7%E3%82%B3%E3%83%B3%E3%83%91%E3%82%A4%E3%83%AB%E3%81%95%E3%82%8C%E3%81%9F%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%82%92%E6%9B%B8%E3%81%8F%5B%E9%96%89%E3%81%98%E3%82%8B%5D.png)
与えられた.cファイルをコンパイルするスクリプトを作成したいと思います。スクリプトは.logファイルを最初の引数として使用し、コンパイルするプログラム名を2番目の引数として使用します。
例:
./compile logfile.log helloworld
これでgccコンパイラを使用してコンパイルする必要があるので、次のコマンドを使用します。
gcc "program name".c -Wall -g -o "program name"
今私の質問は:gccコマンドの出力を.logファイルにインポートする方法は?
答え1
stdoutとstderrをスクリプトの最初の引数にリダイレクトします。
#!/bin/bash
gcc "$2".c -Wall -g -o "$2" >"$1" 2>&1
使用法(例):./compile.sh logfile.log helloworld