0

自分のマシンのユーザーから、デフォルトでt-shellを実行している別のマシンの共有ユーザーにSSHで接続します。cd共有ユーザーとして他のマシンにログインし、そのマシンの個人用フォルダーにログインし、シェルをbashに切り替え、いくつかの追加のエイリアスを定義するスクリプトを取得するエイリアスを作成したいと思います。どうすればこれを達成できますか?

これは私がこれまでに試したことです。私のマシンから実行します:

ssh -ty <otheruser>@<otherhost> 'cd <myfolder>; source tsh.personal'

他のマシンには、~/<myfolder>/tsh.personal次のようなファイルがあります

#!/bin/tsh
/bin/bash -c 'source ~/<myfolder>/bash.personal'

ただし、のオプションを使用する-cbash、コマンドを実行して終了し、コマンドへのすべてのコマンドパスが終了したため、他のマシンへの接続が閉じますssh~/<myfolder>/tsh.personalまた、最後の行を次のように置き換えてみました

/bin/bash -c 'source ~/<myfolder>/bash.personal; /bin/bash'

これは、終了しないbashの別のインスタンスを開始するようにbashに指示します。ただし、そのインスタンスが開始されると、~/<myfolder>/bash.personalソースが作成されなかったようになります。bashの新しいインスタンスが開始されるたびにすべてのエイリアスがリセットされますか、それともエイリアスが新しいインスタンスに渡されないのはなぜですか?

4

1 に答える 1

1

tsh.personalに変更

exec /bin/bash --rcfile ~/<myfolder>/bash.personal

厳密にはexec必要ありませんが、tshインスタンスをインスタンスに置き換えることでプロセステーブルをクリーンアップしbashます。

于 2013-03-06T17:50:48.323 に答える