1

私はscpを使いやすくしようとしているので、今日エイリアスについて学び、次のように使用しています。

alias loudie-scp="scp -i keys/aws.pem $1 ec2-user@ec2-107-20-68-112.compute-1.amazonaws.com:/home/ec2-user"

$ 1は、転送するファイルを指定するためのものです。ただし、これは機能せず、エラーが発生します。

scp: /home/ec2-user: not a regular file

このコマンドを手動で実行して$1のファイルを渡した場合、これは発生しません。

4

3 に答える 3

4

BASH FAQエントリ#80:「引数を取るエイリアスを作成するにはどうすればよいですか?」

于 2012-12-20T05:58:01.307 に答える
0

残念ながら、BASHエイリアスは、検索と置換のようなものです。説明する種類のタスクに対しては、それほど強力ではありません。代わりに、スクリプトファイルを使用して、実行可能ディレクトリに配置することをお勧めします。そのようなもの:

#!/bin/bash
scp -i keys/aws.pem $1 ec2-user@ec2-107-20-68-112.compute-1.amazonaws.com:/home/ec2-user

次に、その名前が与えられた場合、次のloudie-scpように呼び出すことができます。

loudie-scp <parameter>
于 2012-12-20T06:01:33.653 に答える
0

Ignacioのリンクで説明されていると思いますが、エイリアスは、エイリアスをその値にテキストで拡張するだけです。引数を取る必要はありません。そのための関数を使用する必要があります。

于 2012-12-20T06:01:47.747 に答える