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
。