ルートから始めて別のものを使いたいです$USER
。しかし、正しい$ORACLE_HOME
合計$PATH
を$USER
。
このコマンドを使用するとエラーが発生します。export: command not found
su - $USER -c "export ORACLE_HOME=$ORA_HOME;export PATH=$ORA_HOME/bin:$PATH;sqlplus / as sysdba"
私の質問は、ルートディレクトリでスクリプトの実行を開始するには、どのように他のユーザーの環境変数をエクスポートし、その環境変数を使用してコマンドを実行しますか?
ベストアンサー1
Steeldriverが述べたように、ターゲットユーザーはおそらくcshまたはtcshを使用しています。使用しているシェルを確認するには、明示的に呼び出します。
su - "$USER" -c \
"/bin/ksh -c 'export ORACLE_HOME=$ORA_HOME;export PATH=$ORA_HOME/bin:$PATH;sqlplus / as sysdba'"
(サブ)シェルには、デフォルトシェルから(エクスポートされた)環境変数が含まれていますが、ユーザーのデフォルトシェルから(エクスポートされていない)シェル変数は含まれません。