![対話型bashセッションを開始する前にカスタムコマンドを指定できますか? [コピー]](https://linux33.com/image/98688/%E5%AF%BE%E8%A9%B1%E5%9E%8Bbash%E3%82%BB%E3%83%83%E3%82%B7%E3%83%A7%E3%83%B3%E3%82%92%E9%96%8B%E5%A7%8B%E3%81%99%E3%82%8B%E5%89%8D%E3%81%AB%E3%82%AB%E3%82%B9%E3%82%BF%E3%83%A0%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%82%92%E6%8C%87%E5%AE%9A%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E3%82%B3%E3%83%94%E3%83%BC%5D.png)
注:質問内容は本質的に同じですがこのリンクに問題があります、提供された回答があまり満足できなかったため、「トラブルシューティング」と表示されませんでした。以下で私が受け入れた答えは、より清潔で簡単です。見物!
bash
次のように実行するカスタムコマンドを渡す方法を知っています。
bash -c "/bin/echo hello"
これにより、bash
実行パラメータが-c
終了します。タスクが完了したときにインタラクティブなプロンプトを表示するにはどうすればよいですか?追加しても-i
効果はありません。.bashrc
常に読み取るファイルにカスタムコマンドを作成したくありません。
私はそうしてきましbash -c "commands; exec bash -i"
たが、2回起動するので理想的ではありませんbash
。bash
1回の実行で同じ効果を得る方法はありますか?
答え1
--init-file
このようなオプションを使用できますbash --init-file <(echo "echo hello")
。これは.bashrc
ファイルをまったくソースしません。ソースファイルが必要な場合は、.bashrc
次のように追加できますbash --init-file <(echo ". ~/.bashrc; echo hello")
。あるいは、実行したいすべてのコマンドをファイルに入れて使用することもできます。bash --init-file file_with_commands