エイリアスで scp を使用中にエラーが発生しました。通常のファイルではありません。

エイリアスで scp を使用中にエラーが発生しました。通常のファイルではありません。

以前、誰かがこのエラーについて質問したことを知っています。しかし、この場合、エイリアスの場合、これがうまくいかない理由がわからないようです。

私は以下を持っています

alias scpip='scp $1 [email protected]:~'

scpip file私はip.eduのユーザーのホームディレクトリにファイルをコピーできるユースケースが欲しいです。代わりにエラーが発生しました。

scp: /home/user: not a regular file

「手動で」実行すると機能します。パラメータを持つエイリアスとして機能させるにはどうすればよいですか?scp file [email protected]:~

ベストアンサー1

コマンドを実行するときに最初の引数または$1ディレクトリがあると思われる場合は、データが-r含まれているかどうかにかかわらず、スイッチを使用してコピーする必要があります。エイリアスとして実行することもできますが、より複雑で努力する価値はありません。ただスクリプトを書くことをお勧めします。

scpip/home/ ディレクトリに名前付きファイルを作成します。

内容は次のとおりです。

scp -r $1 [email protected]:~

実行ビットを追加:

chmod u+x /home/directory/scpip

あなたの行に~/.bashrc次の行を追加してください

export PATH=/home/directory:$PATH

初期化:

. ~/.bashrc

最後にスクリプトを実行します。

scpip file

これは最初のパラメータを使用します。ファイルの場合

scp -r file [email protected]:~

ディレクトリの場合

scp -r directory [email protected]:~

おすすめ記事