実行中のOracleデータベースでSHELLを変更できますか?

実行中のOracleデータベースでSHELLを変更できますか?

私は新しい契約を始めましたが、以前に処理したことがない問題に直面しました。

Oracleデータベースはkornシェルから起動されます。

oracle:x:500:100:Oracle user:/home/oracle:/usr/bin/ksh

私はすべてのbashスクリプトを持っており、テスト環境はありません。毎日bashの使用をお楽しみください。

私は.profileでbashを呼び出してみましたが、スクリプトに環境変数が必要で、他のシェルが起動すると問題が発生します。

実行中のプロセスに影響を与えずにログイン時に/etc/passwdを編集し、bashシェルを起動できますか?

ベストアンサー1

データベース自体はログインシェルを頻繁に使用しないことがあります。

ログインシェルは、bashスクリプトの作成にログインシェルの使用を制限しません。スクリプトの - 行は、#!スクリプトの実行に使用するインタプリタをシェルに伝えます。これは特定のスクリプトに適しているbashか、またはkshpythonでもよい。perl

唯一の違いは、ユーザーとしてログインするときにログインシェルが何であるか、およびログインシェルを使用できるoracle他のすべての場所です(どこにあるかを見るには、Oracleデータベースのドキュメントを読む必要がありますが、私が知る限りkshおよびbashすべてcshサポートされます。)

個人的には、ログインシェルの変更を避け、代わりにコマンドラインからbash対話型シェルを手動で起動します(ユーザーとして対話型操作に使用したいシェルの場合)oracle

おすすめ記事