起動スクリプトの場合は、Ubuntuシステムで複数の端末ウィンドウを開き、各ウィンドウでいくつかのコマンドを実行したいと思います。これらのコマンドの一部はファイルをロードする必要があります。普通私はそう
$ source path/to/file.sh
それから私に電話してください。
$ MY_COMMAND
ただし、新しいコンソールを開くと:
konsole -e "source path/to/file.sh; MY_COMMAND"
「ソース」は実行ファイルではありません。というエラーが発生します。 「ソース」は実際にシェルに組み込まれていることがわかりました。しかし、bashで直接外部端末を開くときに同じ結果を得る方法はありますか?
非常にありがとう:)
答え1
以下を実行するには、シェルを実行可能ファイルに渡す必要がありますkonsole
。
konsole -e bash -c 'source path/to/file.sh; MY_COMMAND'
これでkonsole
、実行したいコマンド(この場合bash
)がわかり、-c
コマンドを含むオプションがbash
実行するコマンド入力に渡されます。