前提・実現したいこと
linuxでディレクトリの構造がコピーされたリモートサーバーにsshして作業を行った後,exitした際に,リモートサーバーで作業を行っていたディレクトリに移動したいです.
発生している問題・エラーメッセージ
・ローカルマシンに復帰後シェルスクリプトを実行しないといけないのと,実行速度が遅い点.
・リモートマシンの変数を受け渡せないため,sshしないといけなくなっている点.
・リモートマシンに余計なファイルを作成してしまう点.
もっとスマートなやり方があるような気がするのですが,なにかありませんでしょうか.
該当のソースコード
リモートサーバーのbashrc
bash
1alias exit="pwd > $HOME/.last_pwd.dat;exit"
ローカルマシンで実行するシェルスクリプト
bash
1local_default="ローカルマシンのホームディレクトリ" 2remote_default="リモートサーバーのホームディレクトリ" 3 4remote_server="リモートサーバーのIP" 5tmp_file="${remote_default}.last_pwd.dat" 6 7remote_dir=$(ssh "${remote_server}" "cat ${tmp_file}") 8local_dir=$(echo "${remote_dir}" | sed s?"${remote_default}"?"${local_default}"?g) 9 10cd "${local_dir}"; exec bash
試したこと
exitとsshのmanは読みましたが,おそらく該当する動作(exit時に実行する内容を指定する,あるいはリモートマシンからローカルマシンに変数を受け渡す)を行うような記述はなかったと思います.

回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/18 07:53