したがって、ファイルパスを入力として受け取り、コード(C、C ++、またはObjective-Cのいずれか)をコンパイルして実行するスクリプトが必要です。
私はBASHの第一人者ではないことを認めます...それで、それを行うためのより良い方法はありますか?何を変更しますか(そしてその理由)?
これが私のコードです...
C
input=$1;
output=`echo "$1" | sed 's/\(.*\)\..*/\1/'`
newinput="$output.c"
cp $input $newinput
gcc $newinput -o $output -std=c99
status=$?
if [ $status -eq 0 ]
then
$output
exit 0
elif [ $status -eq 127 ]
then
echo "gcc :: Compiler Not found"
fi
exit $status
C ++
input=$1;
output=`echo "$1" | sed 's/\(.*\)\..*/\1/'`
newinput="$output.cpp"
cp $input $newinput
g++ $newinput -o $output
status=$?
if [ $status -eq 0 ]
then
$output
exit 0
elif [ $status -eq 127 ]
then
echo "g++ :: Compiler Not found"
fi
exit $status
Objective-C
input=$1;
output=`echo "$1" | sed 's/\(.*\)\..*/\1/'`
newinput="$output.m"
cp $input $newinput
clang $newinput -o $output -ObjC -std=c99 -framework Foundation
status=$?
if [ $status -eq 0 ]
then
$output
exit 0
elif [ $status -eq 127 ]
then
echo "gcc :: Compiler Not found"
fi
exit $status