次のようにxtermを起動すると、次のような
xterm -e 'cd ~' -hold
新しいxtermウィンドウが表示されます。xterm: Can't execvp cd ~: No such file or directory
その後、xtermウィンドウはcd ~
まだ手動で実行できる現在のディレクトリにあり、期待どおりに機能します。この問題の原因は何ですか?それともxtermの起動ディレクトリを変更する別の方法はありますか?
Ubuntu 20.04.4 LTSを実行しています。
ベストアンサー1
( cd && xterm )
コマンドの正しい作業ディレクトリを設定する最も一般的な方法は、cd
コマンドを呼び出す前に設定することです。サブシェルでこれを行うと、呼び出しシェルの作業ディレクトリは変更されません。
この回答の先頭にあるコマンドは、サブシェルを起動してcd
作業ディレクトリを現在のユーザーのホームディレクトリに変更するために使用されます。成功するとxterm
呼び出されます。xterm
なしで呼び出すと、デフォルトで-e
対話型シェルが起動します。
xterm
終了時に(失敗した場合はすぐに)、コントロールは呼び出すシェルに返されますcd
。xterm
端末は、実行中のコマンドが終了するたびに、つまり対話型シェルが完了したときに終了します。バックグラウンドでサブシェルを起動&
するには、最後に使用します。xterm