0

tcshインタープリターをログインシェルとして起動し、実行させるbashスクリプトを作成していますmy_command。tcshのマニュアルページには、ログインシェルを開始する方法が2つあると書かれています。/bin/tcsh -l1つ目は、他の引数なしで使用することです。実行するにはシェルが必要なので、オプションではありませんmy_command-2つ目は、ゼロ番目の引数としてダッシュ()を指定することです。

これで、オプションを指定したbashexecコマンドが-lこれを正確に実行し、実際、以下は完全に機能します。

#!/bin/bash
exec -l /bin/tcsh -c my_command

ただし...execスクリプトが戻ってきて、後で他のことをする必要があるため、使用できません。では、使用せず-にゼロ番目の引数として指定するにはどうすればよいですか?/bin/tcshexec

4

2 に答える 2

2

execコマンドをスクリプトのサブシェルに含めることができます。

#!/bin/bash
(exec -l /bin/tcsh -c my_command)
# ... whatever else you need to do after the command is done
于 2012-08-23T20:23:37.063 に答える
1

以下を含むラッパー (w.sh) スクリプトを作成できます。

#!/bin/bash
exec -l /bin/tcsh -c my_command

メインスクリプトで w.sh を実行します。

于 2012-08-23T19:44:44.970 に答える