Unix에서는 @host 명령을 사용하여 sshpass를 실행할 때 "sh: mntroot: notfound" 오류가 발생합니다. 이 문제를 해결하는 방법은 무엇입니까?

Unix에서는 @host 명령을 사용하여 sshpass를 실행할 때 "sh: mntroot: notfound" 오류가 발생합니다. 이 문제를 해결하는 방법은 무엇입니까?

내 요구 사항: sshpass 명령을 사용하여 일부 명령을 전달하고 싶습니다. 예 1:

sshpass -p 'sshpass' ssh -oKexAlgorithms******* user@host touch /mnt/us/pass

위의 sshpass 예제는 완벽하게 작동합니다.

예 2:

sshpass -p 'sshpass' ssh -oKexAlgorithms******* user@host mntroot rw

위의 예에서는 호스트에서 mntroot rw로그인한 사용자에게 활성화된 읽기 및 쓰기 권한을 부여해야 합니다. sshpass command pass를 사용하면 이 명령이 작동하지 않고 sh: mntroot: not found오류가 발생하지만 로그인하여 수동으로 입력하면 호스트에서 완벽하게 작동합니다.

도와주세요.

답변1

한 가지 해결 방법은 mntroot전체 경로를 사용하여 호출하는 것입니다.

대화형 쉘과 비대화형 쉘은 서로 다른 초기화 파일을 사용합니다. 어쩌면 그것이 이유일지도 모릅니다. 시스템에 로그인하면 분명히 다른 PATH값을 얻게 됩니다.

관련 정보