다른 서버에서 출력을 가져오는 데 문제가 있습니다. 비밀번호 없는 연결이 가능합니다.
df -kh
다음을 수행할 때 작동한다고 가정해 보겠습니다 (ssh를 수행하고 다른 서버에서 o/p를 가져옵니다).
[user1@meylvmacs01 ~]$ssh [email protected] df -kh
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 99G 11G 83G 12% /
tmpfs 32G 76K 32G 1% /dev/shm
/dev/sda1 200M 264K 200M 1% /boot/efi
/dev/sda4 55G 8.3G 44G 16% /opt/SP
/dev/sda5 55G 30G 23G 58% /var/SP
172.22.27.141:/root_vdm_1/GDSP_Commmon_NAS
493G 227G 266G 47% /var/SP/nfs/gdsp
[m2muser@meylvmacs01 ~]$
하지만 다음을 수행하면 다음 오류가 발생합니다.
ssh [email protected] sqlplus SOAF_PUBLISHER/S_PUBLISHER_SOAF@OSBS1
다른 서버의 다음 디렉터리에 sqlplus exe가 존재하지만/opt/SP/apps/instantclient_11_2/bin
[user1@meylvmacs01 tmp]$ssh [email protected] sqlplus SOAF_PUBLISHER/S_PUBLISHER_SOAF@OSBS1
bash: sqlplus: command not found
이 작업을 성공적으로 수행하려면 어떤 옵션을 전달해야 합니까?
답변1
시스템에 통합되지 않은 애플리케이션(기본 디렉토리와 다른 디렉토리에 설치, 기본이 아닌 경로에서 라이브러리 로드)이 있는데, 제대로 구성되지 않으면 일부 문제가 발생할 수 있습니다. 이런 방식으로 구성할 수 있지만 .bashrc
대화형 셸이 아닌 명령만 실행하는 경우 일반적으로 이 작업을 건너뜁니다. 두 가지 옵션이 있습니다:
표준 입력을 사용하여 서버에 명령을 보냅니다.
echo "sqlplus SOAF_PUBLISHER/S_PUBLISHER_SOAF@OSBS1" | ssh -tt [email protected]
비대화형 명령이 이를 건너뛰지 않도록 시작(또는 기타 시작 파일)에서
PATH
및LD_LIBRARY_PATH
환경 변수를 수정합니다.~/.bashrc
일반적으로 다음과 같은 내용이 포함되어 있습니다.# If not running interactively, don't do anything case $- in *i*) ;; *) return;; esac # your commands ...
수정사항을 추가
PATH
하고LD_LIBRARY_PATH
그 위에 다시 시도하세요.