書かれていることと似たようなことをしたい ここzshを使わずに(私はbashを使います)、screenを起動しようとすると
screen 'cd /home/cataldo/Programs'
次のエラーが発生します:
Cannot exec 'cd home/cataldo/Programs': No such file or directory
exec の後に引用符がないと動作しません。二重引用符でも違いはありません。bash -c "cd .." を使用しても動作しません。
何らかの権限の問題か、起動時に screen が特別なユーザーとしてコマンドを実行している可能性があります。
ご助力ありがとうございます!
screen --version
Screen version 4.00.03jw4 (FAU) 2-May-06
cat /etc/debian_version
6.0.3
答え1
cd
はシェル組み込みコマンドなので動作しません( を試してくださいwhich cd
)。Screenにはchdir コマンドこれを使用して目標を達成できます。.screenrc 内に次の内容を入力します。
chdir /home/cataldo/Programs
これで画面が起動し、指定されたディレクトリに移動します。
答え2
screen
cd
はシェル組み込みコマンドであるためを知らないため、screen
実行できません。ただし、 にはscreen
組み込みコマンド がありますchdir
。コマンドラインchdir
から を単独で実行するとscreen
、screen
セッション内のすべての新しいウィンドウは $HOME で起動します。コマンドラインchdir /home/cataldo/Programs
からを実行するとscreen
、screen
セッション内のすべての新しいウィンドウは で起動します/home/cataldo/Programs
。
新しいセッションを開始するときに異なるディレクトリに 3 つのウィンドウを開きたい場合はscreen
、 で~/.screenrc
ディレクトリを定義してchdir
からすぐに新しいウィンドウを開始します。
# Start these windows when screen starts up
chdir /home/cataldo/Programs
screen 0
chdir /usr/local/bin
screen 1
chdir /tmp
screen 2
chdir
man 1 screen
(最後の行に注目してください)
chdir [directory]
Change the current directory of screen to the specified directory or,
if called without an argument, to your home directory (the value of
the environment variable $HOME). All windows that are created by means
of the "screen" command from within ".screenrc" or by means of "C-a :
screen ..." or "C-a c" use this as their default directory. Without a
chdir command, this would be the directory from which screen was invoked.
Hardcopy and log files are always written to the window's default
directory, not the current directory of the process running in the window.
You can use this command multiple times in your .screenrc to start
various windows in different default directories, but the last chdir value
will affect all the windows you create interactively.
答え3
あなたの言うことはあまり意味がありません。たとえそれがcd
実際のコマンドであったとしても、screen はディレクトリを変更してすぐに終了するだけなので、誰にとっても何の役にも立ちません。
特定のディレクトリ内の特定のスクリーン セッションのみを開始する場合:
(cd home/cataldo/Programs && screen)
これにより、ディレクトリが変更され、シェルで screen が起動され、screen が終了すると既存のディレクトリに戻ります。
答え4
プロンプトでまたはにstuff "cd /home/cataldo/Programs^M"
以下を追加することができます。~/.screenrc
C-a :