微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux-如何使用bash脚本“设置”屏幕

我正在尝试编写一个bash脚本,以创建具有一组特定窗口的屏幕(软件)会话,并在每个CD上创建cd到特定目录.

这是我到目前为止的脚本:

#!/bin/bash

killall screen;
screen -Amds work;
screen -S work bash -c "cd myDir";

问题是我似乎无法在该会话上更改目录.运行此脚本后,我运行$screen -r并且当前目录仍然是我的认目录(〜/).

(我尝试将cd命令更改为touch myFile,并且在运行脚本后该文件在那里)

解决方法:

尝试以下操作,它将使用bash打开一个新的屏幕会话,这将更改目录并使用该目录作为当前目录打开一个新的bash:

screen -S work bash -c 'cd myDir && exec bash'

添加-d -m使其以分离模式运行.重新连接后,您将进入myDir:

screen -S work -d -m bash -c 'cd myDir && exec bash'

更好的解决方

以下代码将创建一个独立屏幕,其中包含3个屏幕,每个屏幕在目录myDir1 / 2/3中运行myCommand1 / 2/3.

cd myDir1
screen -S work -d -m
screen -S work -X exec myCommand1
screen -S work -X chdir myDir2
screen -S work -X screen
screen -S work -X exec myCommand2
screen -S work -X chdir myDir3
screen -S work -X screen
screen -S work -X exec myCommand3
cd -

注意最后一张CD-将使您返回到原始工作目录.

最后,只需使用screen -r work来附加您正在运行的屏幕会话.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐