Я ленивый человек и хотел бы создать ярлык для очень повторяющейся задачи: я хотел бы написать (bash) скрипт, который 1. Соединяется с удаленным сервером 2. Переходит в нужную папку 3.Запускает блокнот jupyter там
Я на Ubuntu, как и сервер (18.04.2 LTS) и желательно иметь сценарий bash или псевдоним, чтобы выполнить эти три шага для меня.
Что я обычно должен делать:
me@mymachine:~$ ssh hostname@xxx.xx.xxx.xxx
hostname@xxx.xx.xxx.xx's password:
...
Last login: Thu Jul 11 11:26:47 2019 from xxx.xx.xxx.xxx
(base) hostname@host:~$ cd /path/to/my/folder/
(base) hostname@host:~$ jupyter notebook --no-browser --ip xxx.xx.xxx.xxx
...
To access the notebook, open this file in a browser:
file:///run/user/1000/jupyter/nbserver-21110-open.html
Or copy and paste one of these URLs:
http://xxx.xx.xxx.xxx:8889/?token=111222333444555666sometoken888999
, который я использую, чтобы открыть блокнот jupyter в своем браузере по выбору.
Что я пробовал до сих пор:
#!/bin/bash
ssh hostname@xxx.xxx.xxx.xx "cd /path/to/my/folder/; jupyter notebook"
Что приводит к
hostname@xxx.xx.xxx.xxx's password:
bash: jupyter: command not found
Я подозреваю, что мне нужно добавить команду jupyter в .bashrc или что-то подобное?Я не мог найти определенный ответ и не хочу с этим поиграться.
В качестве альтернативы я попытался
#!/usr/bin/expect -f
spawn ssh hostname@xxx.xx.xxx.xxx
expect "assword:"
send "mypassword\r"
(взято из здесь ! И здесь !) Но тогда я не знаю, как совместить это с навигацией в нужное место и открытием блокнота Jupyter.