入力を必要とする二つのコマンドがあり、
両方とも
COMMAND1 <<"(2)
$AAA
$BBB
(1)
COMMAND2 <<"
$AAA
$BBB
の形で単独では動作しますが、一度に実行するとエラーを起こします。
実際にはCOMMAND2はCOMMAND1の実行後行わなければならないので、
実行終了まで待たないといけないのでエラーを発生します。
そこで前の命令の実行終了を待って次の命令を行いたいのですが、
いい方法はありますか。
【やってダメだった方法】
・(1)(2)の位置に「&&」を入れる
・(1)の位置に$?が0の間動き続けるwhileループを挿入する
・1の部分、2の部分を両方とも別のスクリプトにして
その両方のスクリプト起動命令同士を「&&」で結ぶ
No.1ベストアンサー
- 回答日時:
COMMAND1の方が、バックグラウンド動作するようになっているのかも。
で、処理の最中だけど、すぐにCOMMAND2の実行が始まっているのではないかしら。だとしたら、COMMAND1の具体的な処理の中身を知らないと、終了判定のコードを書くのは難しいかも。
COMMAND1がシェルスクリプトなら、それを適当に改造するとかできるんですけど。
まあ、適当に思い付く方法といえば、psから該当するコマンドのエントリを拾ってきて、そいつをループで監視するとか、
COMMAND1終了時に端末に文字を出すなら、そいつをコマンドexpectを使って検出するとか。
この回答への補足
スクリプトの実行結果を見て、
方法としては完全に結局こうなりました。
プログラム終了後に最後に「done」が出力されるので
これをまって次のプログラムを起動させればいい。
一寸質問の形が違ってきそうなので、
改めて質問立てする事にします。ありがとうございました。
コマンド自体は私も詳しくは分かりません。
そこがややこしくしている原因なのですが。
単独で動いているのを見ていると実行終了までプロンプトが出てこないので
バックグラウンド動作はしていないと思うのです。
No.2
- 回答日時:
例示なさっているスクリプトが私にはよくわからないのですが、それはさておき、安直な対処をあげますと「sleep」を使うというのはいかがでしょう?
例えば(1)のところに
sleep 10
と書くと、そこで10秒間停止します。10の代わりにいろいろな数を試して、通常COMMAND1の処理にかかる最低限の時間より少し長く停止するようにすれば、うまくいくと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- その他(プログラミング・Web制作) bashのgrepで複数の検索、かつスクリプト内で改行する方法を教えてください。 1 2022/10/06 20:09
- CPU・メモリ・マザーボード CPUがメモリ上の命令を実行する流れについての質問です。 3 2023/05/05 01:41
- その他(コンピューター・テクノロジー) (コマンドプロンプト)コマンドプロンプトのactiveについて 2 2022/07/16 17:21
- CPU・メモリ・マザーボード CPUがメモリ上に書かれている命令を実行した後の流れについての質問です。 1 2023/05/05 01:18
- その他(コンピューター・テクノロジー) 量子コンピュータの動作原理がわかりません。同じビットが、1でも0でも有って良いだろうか? 3 2023/02/04 03:20
- 世界情勢 次のトランプ君が2017年に極悪アメリカの大統領になった直後にツィッターに送ったリツィー 3 2022/11/24 12:38
- 世界情勢 イーロン・マスク君が、アメリカの大統領になれば、アメリカはどのように変わると思われますか 2 2022/11/26 21:59
- 宇宙科学・天文学・天気 銀河のハビタブルゾーンを確率的セルオートマトンという数値的にシミュレーションした結果、「群島」の様な 2 2023/06/06 23:10
- CPU・メモリ・マザーボード CPUがメモリ上の命令を実行した後の流れについての質問です。 1 2023/05/05 01:36
- 弁護士・行政書士・司法書士・社会保険労務士 行政書士試験の行政法についての質問になります。 行政法の行政手続法についての質問になります。 問 意 1 2023/08/09 13:35
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
perlによる外部プログラムの実行
-
EXCELファイルに誰がアクセスし...
-
URLに~/cgi-bin/~を隠す方法
-
《エクセルVBA》「他の人が該当...
-
CGIを覗かれないように
-
歌詞画ってどうやって作るの?
-
カタカナを英語やフランス語に...
-
自前のアップローダの作り方
-
CGIの予約状況システムについて
-
サイトからCGIをダウンロー...
-
CGI設定の初歩的な質問
-
分かりません。誰か教えて
-
WEB PATIOが表示されない
-
IE5.0でアプリケーションエラー
-
属性値を変えられないのはなぜ...
-
ウェブサイトのカウンター
-
TSVデータを上書きしたい
-
perlからJavascriptを起動
-
cgi内から別のcgiを呼び出す。
-
エラーで困っています。
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CGIって何ですか?簡潔に教えて...
-
Perlプログラム上でアラートを表示
-
Webからアクセスし、画面のボタ...
-
IISでエラー、Apachでは動くの...
-
実行可能な外部コマンドは?
-
ホームページにCGIを設置したの...
-
IIS5.1でCGI Timeoutになる原因...
-
CGI経由で起動したプロセスが停...
-
CGIファイルへのブラウザからの...
-
毎日同時刻に、設定しておいた...
-
前回はごめんなさい。pythonでc...
-
CGIからのプログラム起動
-
cgi を定期的に自動実行
-
cgiで呼び出したプログラムを数...
-
ログアウト処理でWebブラウザを...
-
EXCELファイルに誰がアクセスし...
-
《エクセルVBA》「他の人が該当...
-
SFTPなどは使わないホームペー...
-
VBAでサーバーにアクセスするに...
-
URLに~/cgi-bin/~を隠す方法
おすすめ情報