我正在尝试运行这个 bash 脚本:
source ~/miniconda3/etc/profile.d/conda.sh
gnome-terminal --tab -e "conda activate env_num_1 && jupyter lab"
conda activate env_num_2
cd some_path
gnome-terminal --tab -e "sleep 5 && firefox myurl" #
bash "command that starts web server" #It takes a few moment to boot up hence the sleep function
无论出于什么原因,gnome-terminal 都会打开选项卡,但不会执行所给出的命令。我该怎么做才能解决这个问题?
编辑:在终端中尝试了下面的建议(gnome-terminal --tab -- sleep 5 && firefox myurl),我得到了
无法执行子进程“conda activate machine-learning-env & jupyter lab”:无法执行:没有此文件或目录
编辑2:继续摆弄它,这大致给出了我想要的结果。
#!/bin/bash
source ~/miniconda3/etc/profile.d/conda.sh
conda activate env1 && jupyter lab &
(conda activate env2
cd mydir
bash webui.sh & (sleep 10 && firefox myurl))
但似乎所有操作都在一个终端中完成。我想关闭一个程序,并保留另一个程序。但我想一定还有其他方法?
答案1
我了解,你想做这样的事情:
gnome-terminal --tab -- sh -c "conda activate env_num_1 && jupyter lab"
@see选项man gnome-terminal
中的警告--command, -e=COMMAND
添加read
调试命令:
gnome-terminal --tab -- sh -c "conda activate env_num_1 && jupyter lab; read -p \"press enter key\""