私はサーバーからフォルダにいくつかのデータをコピーするためにセキュアコピーを使用しています(例:)。scp [email protected]:/project1/data/ data1/
[email protected]:/project1/
私の質問は、サーバーアドレス(エイリアスなど)を短い形式(エイリアスなど)で保存し、フルネームの代わりに使用できるかどうかです。たとえば、アドレスを "prj1"として保存し、そのコマンドを使用してscp prj1/data data1/
同じことをしたいと思います。
残念ながら、エイリアスは機能ls -s
しません。
可能ですか?
ありがとう
答え1
変数を考えてみましたか?
prj1='[email protected]:/project1' # Define variable
scp -p "$prj1/data/" data1/ # Use it
または関数を使用することもできます
prj1scp() { scp -p "[email protected]:/project1/$1" "$2"; }
prj1scp data ~/data1/ # Invoke the function
関数を使用することが単純なエイリアスよりも強力な理由の1つは、関数を必要に応じて複雑にすることができることです。実行方法に影響を与えるパラメータがある場合や、コマンドラインで指定されたパラメータを置き換えることもできます。