【问题标题】:Linux screen open session and change directoryLinux屏幕打开会话并更改目录
【发布时间】:2014-11-08 00:44:06
【问题描述】:

我对 Linux 中的“屏幕”会话有疑问。

我编写了一个简单的 shell 脚本,它应该打开一个附加到它的屏幕会话并更改目录“cd 1”,其中“1”是我运行脚本的目录中的现有子目录. 所以这是我目前所拥有的:

screen -d -m -S mysession
screen -S mysession -p 0 -X cd 1

到目前为止,该脚本仅打开一个屏幕会话,但当我附加到屏幕时,我可以看到它没有更改目录。

知道为什么它不会更改目录吗?

【问题讨论】:

    标签: linux gnu-screen


    【解决方案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 中工作。
    猜你喜欢
    • 1970-01-01
    • 2017-01-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-10
    相关资源
    最近更新 更多