0

screen コマンドを実行する前に、通常は screenrc ファイルで chdir を使用してディレクトリを変更できることを知っています。ただし、設定した場合、これは機能しません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 シェルを実行したいと思います。関連する場合、これはOSXにあります。私の画面コマンドはエイリアス化されていません。

4

1 に答える 1

1

問題は、ホーム ディレクトリに移動するログインシェルをdefshell指定していることです。さんの説明書によるとscreen

シェルコマンド

新しいシェルを作成するために使用するコマンドを設定します。これは、環境変数 $SHELL の値をオーバーライドします。これは、$SHELL で指定されたプログラムを実行することを期待している tty エンハンサーを実行したい場合に便利です。コマンドが「-」文字で始まる場合、シェルはログイン シェルとして開始されます。

それを次のように変更すると

defshell bash

それはすべきではありません。

于 2015-04-02T23:33:27.683 に答える