web-dev-qa-db-ja.com

.bashrcでscpセッションに参加しているかどうかを確認できますか?

.bashrcの内部で、scpを実行しようとすると問題が発生する一連の魔法を実行しています。私が行ってきた解決策は、ターゲットマシンに手動でSSH接続し、.bashrcを無効にして、コピーを実行してから、.bashrcを再度有効にすることです。これを回避する方法はありますか?

6
Wesley Bland

Debianの私の標準的なbashrcは、最初の行としてこれを持っていました:

if [ -z "$PS1" ]; then
   return
fi

これにより、変数$ PS1が設定されているかどうかがチェックされ(インタラクティブシェルを使用している場合にのみ設定されます)、設定されていない場合は残りの実行が防止されます。

13
tourn