2011-08-25 7 views
29

問題があります。私はこの答えのための長い時間を探しています - どのように新しいbashシェルでコマンドを実行し、このコマンドの実行後にこの新しいシェルにとどまることができます。だから、例えば:新しいシェルでbashコマンドを実行し、このコマンドを実行した後で新しいシェルに留まる

bash -c "export PS1='> ' && ls" 

は新しいシェル、輸出PS1、リストのディレクトリを作成し、...私の現在のシェルに終了します。私は新しいものにとどまっていたい。

+1

インタラクティブであれば、あなたが私たちに何をあなたに説明することができます〜/ .bashrcの代わりに、システム全体の初期化ファイル/etc/bash.bashrcと標準個人の初期化ファイルのファイルからコマンドを実行します達成しようとしている。多分それを行うための他の方法があります。 – dimba

+0

@dimba私はdaniloを話すことができませんが、私の場合、私は自分のWebサーバーにsshしようとしていて、appディレクトリにcdしてそのアプリケーション用のレールコンソールを開きます。 –

+0

[bashを起動し、新しいシェルの中でコマンドを実行し、ユーザに制御を戻す]の複製が可能です。(http://stackoverflow.com/questions/7120426/invoke-bash-run-commands-inside-new-shell-then-ユーザに制御を戻す) –

答えて

32

bash manpageから

bash --rcfile <(echo "export PS1='> ' && ls") 

--rcfileファイル

シェルは

+2

thx vm !!私は '.bashrc'ファイルをこのようにベースとして使用することができました! 'bash --rcfile <(echo" source "$ HOME/.bashrc"; export PS1 = '>' && ls ")' –

+0

これは私が探しているものです。ありがとう! –

-2

怠惰な1:

bash -c "export PS1='> ' && ls; bash" 
あなたは --rcfileオプション悪用 ことで似たような達成することができます
+11

これは、別のシェルを起動しますが、新しいプロンプトを尊重しません。 – Jack