IN="$(mktemp --suffix .s)" OUT="$(mktemp)" TEMP="$(mktemp --suffix .o)" cat > "$IN" nasm -felf64 "$IN" -o "$TEMP" if [ -f $TEMP ] && ! [ -s $TEMP ]; then ld "$TEMP" -o "$OUT" fi if [ -f $OUT ] && ! [ -s $OUT ]; then exec "$OUT" fi