2週間ごとに私たちのオフィスのリモートUbuntu CLI専用サーバで行うべきいくつかのタスクがあります。私は通常、コマンドを1つずつ入力しますが、私はそれらの最初のステップを繰り返すのに費やす時間を短縮する方法を見つけようとしています(スクリプトを書くかもしれません)。ここでディレクトリにcdして、スクリプト内のリモートサーバの特定のユーザにsu
私は何をすべきかです:
ssh [email protected]_local_server
# asks for my_username password
cd /path/to/particular/folder
su particular_user_on_local_server
# asks for particular_user_on_local_server password
そして、私は自分の仕事を行うことができます(など、サービスを再起動し、ファイルを削除/、RailsアプリケーションにコピーをいくつかのRubyスクリプトを実行します)
私はワンステップのスクリプト/コマンドでこれを行うための方法を見つけようとしています:
「
ssh
そして、その後cd
ディレクトリへの接続ssh [email protected] 'cd /some/path/to/folder ; su other_user' # => does not keep my connection open to the server, just execute my `cd` # and then tells me `su: must be run from terminal` ssh [email protected] 'cd /some/path/to/folder ; bash ; su other_user' # => keeps my connection open to the server but doesn't switch to user # and I don't see the usual `username:~/current/folder` prefix in the CLI
ssh
を経由してリモートサーバー上(接続を維持)、端末を開く方法と、特定のディレクトリ変更+スイッチがあります:
このユーザー」に私は以下を使用してみました自動化された方法で?
理由は、その必要があるでしょう 'cdがあります'あなたが' su'の前に? 'su'オプションを付けないと、現在のディレクトリが変更される可能性があるため、代替手段が簡単になります。 – Aaron
それは非常に良い点です@アーロン、それを指摘してくれてありがとう。 – MrYoshiji