2010-06-19 2 views
1

쉘에서 인 것처럼 명령을 통과 실행한다 :schroot : 그것은 내가 좋아하는 뭔가하고 싶은

schroot -c name -u root "export A=3 && export B=4" 

을하지만 오류 얻을 : 내가 원하는, 즉

Failed to execute “export”: No such file or directory 

schroot 환경에서 프로그래밍 방식으로 셸 명령을 실행할 수 있습니다. 이 행동을 취하는 올바른 방법은 무엇입니까?

+0

아마도이 질문은 ServerOff가 아니라 StackOverflow에 속해 있다고 생각합니다. – Omnifarious

답변

4

있다 쉘)을 사용하여 다음 인수를 실행할 명령 (스크립트)으로 읽습니다. 같은 기술이 다른 유사한 명령과 함께 작동합니다. 'su', 'nohup'...

1

당신은

schroot -c name -u root "/bin/bash -c 'export A=3; export B=4'" 

을 시도 할 수 있지만 내가 schroot 들었어요 처음이다. 그리고 수출품은 쓸데없는 것처럼 보입니다. 명령 줄에서 큰 따옴표를 직접 달아서조차도 자식 쉘이 부모 환경에 영향을 미치기를 원하지 않는 것 같습니다.

schroot -c name -u root sh -c "export A=3 && export B=4" 

이 그것을 말하는 '-c'옵션을 사용하여 쉘을 실행합니다 (: 그 /etc/schroot/schroot.conf 보장

+0

'schroot -c name -u root/bin/bash -c 'export A = 3;을 수행했다면 더 복잡한 명령에 대해서는 인용문이 더 잘 작동한다고 생각합니다. 수출 B = 4 '대신. – Omnifarious

+0

가능합니다. 하지만 내가 말했듯이, 나는 전에 schroot을 본 적이 없다. 나는 그 명령이 하나의 문자열인지 아니면 무엇이되어야하는지 확신하지 못했습니다. – cHao

4
schroot -c name -u root -- export A=3 && export B=4 

내가 추천

run-exec-scripts=true 
run-setup-scripts=true