0
bash function
をローカルに書きたいので、この機能を実行すると最初のコマンドはubuntuリモートデスクトップにssh
で接続することです。bashプロファイル関数を使用してリモートから接続し、リモート端末にアクセスする方法
一言で言えば:
my_func() {
ssh blah blah blah;
echo $HOME;
}
所望の出力は/home/ubuntu
のようなSTHですが、私は何を取得します。だから私はmy_func
がローカルでしか使えないという印象を持っています。なぜなら私はリモートデスクトップを終了するとローカルの$HOME
ディレクトリを取得するからです。
追加の 'sh -c'はなぜですか? – randomir
ありがとうございました! 'echo $ HOME'では動作するようですが、リモートデスクトップでは別の環境変数を設定しましたが、' $ HOME'ではなく 'echo'を実行すると何も表示されません。 – thanasissdr
'$ HOME'はシェル変数であるため、シェルが必要です。あなたが設定したこの環境変数は、そのセッションだけで設定されていますか?あるいは、例えば、あなたのbash '〜/ .profile'や'〜/ .bashrc'を設定しましたか? 1つのセッションだけであれば、新しいsshセッションはその変数を見ることができません。 –