以前、誰かがこのエラーについて質問したことを知っています。しかし、この場合、エイリアスの場合、これがうまくいかない理由がわからないようです。
私は以下を持っています
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]:~