1

私はSolarisの専門家ではなく、プロンプトをPWDに、kshをbashに変更するシェルスクリプトを作成しようとしています。これは次のとおりです。

PS1 ='$ PWD $'exec bash --noprofile --rcfile / dev / null

また

PS1 ='\ w $'exec bash --noprofile --rcfile / dev / null

それらの両方はshから動作しません。コマンドラインからそれらを追加すると、最初にbashがプロンプトに表示され、2回目にPS1 ='$ PWD $'が起動して、プロンプトが変更されます。

まず、PS1 ='$PWD$'がシェルスクリプトから機能しないのはなぜですか。結果を得るには、コマンドラインからコマンドを2回実行する必要があるのはなぜですか。

また、私のexport / home / syed /ディレクトリには、local.login、local.profile、local.cshrcの3つのファイルがあります。ログインするたびにシェルスクリプトを実行する必要がなく、ログイン時に必要に応じてbashシェルとプロンプトが表示されるようにする方法はありますか(質問が多すぎますが、kshは好きではありません)上矢印の最後のコマンドの呼び出しやタブのオートコンプリート機能などの機能はありません)

ありがとうサイード...

4

3 に答える 3

1

デフォルトのシェルをbashにする場合は、/ etc/passwdで変更します。

于 2012-03-28T15:08:21.857 に答える
1

スクリプト内から移動する場合exec、スクリプトは置き換えられるものであり、親シェルではありません。

スクリプトを実行するのではなく、調達してみてください。

また、Solarisでは、を使用passwd -eしてログインシェルを変更できます。

~/.profile既存の~/local.profile(または同様の)シンボリックリンクが可能な場合があります。.cshrcこれはCシェル用であり、kshまたはBashとは互換性がないことに注意してください。

于 2012-03-28T18:51:23.497 に答える
0

bashを実行execすると、独自の環境が最初から設定されます。--rcfile継承したい設定を含むものを渡します。

于 2012-03-28T15:15:42.400 に答える