GNU 화면 시작 시 명령을 실행할 수 없습니다

GNU 화면 시작 시 명령을 실행할 수 없습니다

나는 쓰여진 것과 비슷한 것을하고 싶다 여기zsh를 사용하지 않고(저는 bash를 사용합니다), 다음과 같이 화면을 시작하려고 하면

screen 'cd /home/cataldo/Programs'

다음 오류가 발생합니다.

Cannot exec 'cd home/cataldo/Programs': No such file or directory

exec 후에 qoutes가 없으면 작동하지 않습니다. 큰따옴표는 아무런 차이가 없습니다. bash -c "cd .."를 사용하면 작동하지 않습니다.

일부 권한 문제이거나 화면이 시작 시 특수 사용자로 명령을 실행하기 때문일 수 있습니까?

당신의 도움을 주셔서 대단히 감사합니다!

screen --version
Screen version 4.00.03jw4 (FAU) 2-May-06

cat /etc/debian_version 
6.0.3

답변1

cd셸 내장 명령(try ) 이므로 작동하지 않습니다 which cd. 화면에는chdir 명령목표를 달성하는 데 사용할 수 있습니다. .screenrc 안에 다음을 입력하세요.

chdir /home/cataldo/Programs

이제 시작 화면이 나타나면 지정된 디렉터리에 있어야 합니다.

답변2

screencd쉘 내장이므로 알지 못하므로 screen실행할 수 없습니다. 그러나 screen에는 chdir. 명령줄 chdir에서 단독으로 실행하면 screen세션의 모든 새 창이 screen$HOME에서 시작됩니다. 명령줄 chdir /home/cataldo/Programs에서 실행하면 세션 screen의 모든 새 창이 screen에서 시작됩니다 /home/cataldo/Programs.

screen새 세션을 시작할 때 서로 다른 디렉터리에 있는 3개의 창을 열려면 ~/.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화면은 디렉토리를 변경한 다음 즉시 종료되므로 아무 소용이 없습니다.

특정 디렉터리에서 특정 화면 세션만 시작하려는 경우:

(cd home/cataldo/Programs && screen)

그러면 디렉토리가 변경되고 쉘로 화면이 시작되며 화면이 종료되면 기존 디렉토리로 돌아갑니다.

답변4

다음을 사용하여 또는 프롬프트에서 stuff "cd /home/cataldo/Programs^M"추가 할 수 있습니다 .~/.screenrcC-a :

관련 정보