~/bin
ローカルフォルダをリモートホストに同期するプロセスを自動化し、そのフォルダをリモートシェルパスに追加したいと思います。同期部分を完了しましたが、フォルダをリモートシェルに自動的に追加する方法がわかりません$PATH
。
これにより、常にローカルコンピュータでシェルスクリプトを操作でき、新しいコンピュータに接続して作業を開始する必要がある場合は、ローカルスクリプトを実行して〜/ binフォルダをリモートコンピュータに同期できます。その後、常にリモートホスト上でスクリプトを簡単に実行できます。
その後、次回のログイン時に自分の~/bin
パスがリモートホストのパスに追加され、正しく設定されるようにするにはどうすればよいですか。$PATH
$PATH
これはシェルスクリプトで自動的に実行されることを望みます。
編集:を同期したくありませんが、.bashrc
必要に応じてシェルスクリプトを使用して最後にいくつかのコンテンツを追加して既存のファイルに追加できます。
答え1
1つの可能なアプローチは、bashrcを同期する代わりにbashrcの末尾に追加することです。
echo "PATH=\$PATH:~/bin" >> ~/.bashrc
これにより、PATH変数に〜/ binが追加されます。
リモートホストからこれを取得するには、まずsshを呼び出すだけです。ホストが多い場合は、forループを使用できます。
for host in host1 host2 host3;do
ssh user@$host echo "PATH=\$PATH:~/bin" >> ~/.bashrc
done