0

我知道您通常可以在 screenrc 文件中使用 chdir 来更改目录,然后再运行 screen 命令。defshell -bash但是,如果我已经设置,这对我不起作用。这是一个不起作用的示例文件:

    defshell -bash 
    defscrollback 100000

    hardstatus on
    hardstatus alwayslastline
    hardstatus string "%w%=%m/%d %c"

    chdir /Users/myuser/work
    screen -t "work"

$ screen -c testrc

$ pwd /Users/myuser

注释掉第一行就可以了,但我想在我的屏幕上运行 bash shell。如果相关的话,这在 OSX 上。我的屏幕命令没有别名。

4

1 回答 1

1

问题是您defshell指定了一个登录外壳,这使它进入主目录。根据screen's手册

外壳命令

设置用于创建新外壳的命令。这会覆盖环境变量 $SHELL 的值。如果您想运行期望执行 $SHELL 中指定的程序的 tty-enhancer,这很有用。如果命令以“-”字符开头,则 shell 将作为登录 shell 启动。

如果您将其更改为

defshell bash

它不应该那样做。

于 2015-04-02T23:33:27.683 回答