私は次のbash関数を書いた。
function to_company()
{
scp ${1} [email protected]://home/username
}
私がするとき:
$ to_company code_diff.txt
パスワードを要求した後、次のメッセージで失敗します。
scp: //home/username: not a regular file
スクリプトに&を提供しようとしましたが、//home/username/
同じ結果が得られました。//home/username/${1}
上記のコマンドを手動で実行してcode_diff.txt
代わりに渡すと、${1}
ファイル転送に問題はありません。
私は何を間違えましたか?
ベストアンサー1
重要ではありませんが、リモートパスは/home/username
(スラッシュ1つ)でなければなりません。 Sputnickが指摘したように${1}
。"${1}"
[email protected]:
同じコマンドをコピーし、テストしたときにうまくいったので(「通常のファイルではない」エラーが発生した場合)//home/username
。
もう一度試してみるのは、デバッグを追加し(-v
scpコマンドに提供して)、手がかりがあるかどうかを確認することです。
function to_company()
{
scp -v "${1}" [email protected]:/home/username
}