Linux屏幕打开会话并更改目录
Posted
技术标签:
【中文标题】Linux屏幕打开会话并更改目录【英文标题】:Linux screen open session and change directory 【发布时间】:2014-11-08 00:44:06 【问题描述】:我对 Linux 中的“屏幕”会话有疑问。
我编写了一个简单的 shell 脚本,它应该打开一个附加到它的屏幕会话并更改目录“cd 1”,其中“1”是我运行脚本的目录中的现有子目录. 所以这是我目前所拥有的:
screen -d -m -S mysession
screen -S mysession -p 0 -X cd 1
到目前为止,该脚本仅打开一个屏幕会话,但当我附加到屏幕时,我可以看到它没有更改目录。
知道为什么它不会更改目录吗?
【问题讨论】:
【参考方案1】:以下方法可以解决问题(不过,它目前确实带有打印刚刚执行的命令的丑陋副作用)
#!/bin/bash
screen -dmS mysession sh
screen -S mysession -p 0 -X stuff "cd /some/path/
"
在 OSX 10.9.5 和 Ubuntu 12.04 上测试。
【讨论】:
还是不行!我在 Debian 上,但我怀疑这就是原因。当我运行脚本并附加到屏幕时,它仍然在我的主目录中,而不是 /home/1/ 你试过绝对路径吗? /home/abedin/1/(假设您的用户是 abedin)。另外,我怀疑您在 /home/ 下有一个名为 '1' 的目录,其中应该只有用户目录(通常)。 很抱歉造成混淆,但目录“1”的绝对路径是“/home/abedin/test/1”。我正在从“/home/abedin/test”运行我的脚本,当我附加到屏幕时,我仍然在“/home/abedin/test”中。是的,我尝试了绝对路径,但还是一样。 在 OSX 中,我有 Bash 3.2.53 和 Screen 4.00.03。 Ubuntu:Bash 4.2.25 和 Screen 4.00.03jw4,如果有帮助的话。在 OSX 和 Ubuntu 中工作。以上是关于Linux屏幕打开会话并更改目录的主要内容,如果未能解决你的问题,请参考以下文章