acファイルを別のディレクトリにコピーしてコンパイルするコマンドはありますか?

acファイルを別のディレクトリにコピーしてコンパイルするコマンドはありますか?

acファイルを別のディレクトリにコピーしてコンパイルするコマンドはありますか?したがって、私のホームディレクトリにTicker.cがある場合は、それをコピーしてTaskという別のディレクトリにコンパイルしたいと思います。

答え1

いつでも必要なタスクを実行するスクリプトを作成できます。私には幸運がありました。

#!/bin/bash

# creates a command 'ccto' that copies and compiles 
# a file to a directory. In the following, we have
# <file> : the file to be copied and compiled
# <dest> : the destination of the copied file
# <filename> : the name of the compiled file in <dest>

if [ ! -f "$1" ] || [ ! -d "$2" ] || [ -z "$3" ]
then
    echo "Usage: ccto <file> <dest> <filename>"
    exit 1
fi

gcc "$1" -o "$2/$3"

ファイル名を指定しますcctoアヘンと編む到着)権限を実行可能ファイルに変更します。最後のステップとして、このファイルを変数のディレクトリに追加するか、ファイルに追加してファイルを編集し$PATH~/.binこのディレクトリが存在することを確認したら、現在の作業ディレクトリに関係なくこのスクリプトを実行できます。元のファイルのパスを覚えておくために)。.bashrc$PATH

私が書いたスクリプトは、渡されたファイルがコンパイル可能なファイルであることを確認しないため、完璧ではありません。しかし、そうなるでしょう。

答え2

現在のディレクトリからファイルをコンパイルしてからターゲットinstallディレクトリにコピーできます。

install権限、所有者とグループの設定、ファイルがターゲットディレクトリに既にある場合は、バックアップファイルの作成など、さまざまなオプションがあります。すべての操作を一度に実行します。

たとえば、次のコマンドを実行します。

install -b -o alice -m 0700 Ticker.o /target/directory/MyTicker

する:

  • ファイルTicker.oをにコピーします/target/directory/MyTicker
  • -雨:すでに存在するMyTicker.old場合はバックアップファイルを作成し、MyTicker
  • -o アリス:所有者をに変更aliceして
  • -m0700:権限をに変更します0700

関連情報