web-dev-qa-db-ja.com

ディレクトリのエイリアスを作成し、あるファイルを別のファイルにコピーするにはどうすればよいですか?

ファイルを/home/e_empid/file1から/home/e_empid /dir1/dir2/dir3/Backupfile1にコピーしたい。ユーザーは毎回長いコマンドを書きたくありません。上記のアクションのエイリアスを設定するコマンドを記述しますか?

以下のコードを試してみました

alias a= 'cd ~/e_empid/'
alias b= 'cd ~/e_empoid/dir1/dir2/dir3/'

file1backupfile1にコピーしたい。エイリアスを作成した後、どうすればよいですか?

2
panni

エイリアスはcdコマンド内で機能しないか、代わりに関数を使用できるため、cpコマンドを使用せず、_=_記号の後にスペースを入れずに、エイリアスを以下のような変数に変更し、最後の_/_を削除します。 @jherranの答えとして、関数を使用するとより柔軟になります。

_sorc=~/e_empid
dest=~/e_empoid/dir1/dir2/dir3/Backupfile1
_

次に、次のように使用します。

_cp $sorc/file1 $dest/
_

上記のコマンドを実行すると、_file1_ファイルが_~/e_empid_ディレクトリから_~/e_empoid/dir1/dir2/dir3/Backupfile1_ディレクトリにコピーされます。

それらを_.bashrc_ファイルの最後に追加して、次回使用することができます。

_echo 'sorc=~/e_empid' >> .bashrc
echo 'dest=~/e_empoid/dir1/dir2/dir3/Backupfile1' >> .bashrc
_

_cp $sorc/Any_File_inside_it $dest/_を使用します。

3
αғsнιη

Bashを使用している場合は、エイリアスの代わりに関数を作成できます。

bcopy () {
    cd ~/e_empid/
    cp file1 /home/e_empid/dir1/dir2/dir3/Backupfile1
    cd ~/e_empoid/dir1/dir2/dir3/
}

次に、bcopyを使用して呼び出す必要があります。

ファイルの名前が毎回同じでない場合は、$1$2の代わりにfile1Backupfile1を使用することもできます。

cp $1 /home/e_empid/dir1/dir2/dir3/$2

この場合、bcopy orig-file dest-fileを使用して呼び出す必要があります。

2
jherran