他のサーバーから出力を取得する際に問題があります。パスワードのない接続が可能です。
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
対話型シェルではないコマンドのみを実行する場合は、通常この操作をスキップします。 2つのオプションがあります。
標準入力を使用してサーバーにコマンドを送信します。
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
もう一度やり直してください。