質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
UNIX

UNIXとは、AT&Tのベル研究所で開発されたコンピューター用のマルチユーザー・マルチタスクのオペレーションシステム(OS)です。政府や教育機関や研究所で広範囲に採用されています。

sh

shは、UNIX系OSのシェル操作の1つであり、最も基本的なシェルのことです。

Q&A

0回答

321閲覧

サブシェルで実行したコマンドをwait するshell script を作成したい.

退会済みユーザー

退会済みユーザー

総合スコア0

UNIX

UNIXとは、AT&Tのベル研究所で開発されたコンピューター用のマルチユーザー・マルチタスクのオペレーションシステム(OS)です。政府や教育機関や研究所で広範囲に採用されています。

sh

shは、UNIX系OSのシェル操作の1つであり、最も基本的なシェルのことです。

0グッド

0クリップ

投稿2019/04/02 07:50

編集2019/04/02 08:10

前提・実現したいこと

shell script
サブシェルの内容をwaitするスクリプトを作成したい

発生している問題・エラーメッセージ

waitコマンドが思っているように動作しない。
現状以下のソースコードを実行した際にサブシェルがを待たずに次の処理が起こってしまうため解決方法
のご教授をお願いいたします。

該当のソースコード

sh

1#/bin/sh 2PIDS=/hoge/pids 3MYDIR=`dirname $0` 4touch $PIDS 5chmod 666 $PIDS 6pids=`cat $PIDS` 7test_wait() 8{ 9su - oracle -c "($MYDIR/expdp.sh;$MYDIR/compress.sh)" & 10test_pid=$! 11echo $test_pid >>$PIDS 12} 13 14ORATAB=/var/opt/oracle/oratab 15use_oratab() 16{ 17 18 while read LINE 19 do 20 case $LINE in 21 \#*) 22 continue 23 ;; 24 *) 25 ORA=`echo $LINE | awk -F: '{print $1}' -` 26 if [ X"$ORA" = 'X' -o X"$ORA" = 'X*' ] ; then 27 continue 28 fi 29 if [ `echo $ORA | cut -b 1` = '+' ]; then 30 continue 31 fi 32 if [ `echo $ORA | cut -b 1` = '-' ]; then 33 continue 34 fi 35 test_wait 36 test_pid2=$! 37 echo "$test_pid2" 38 ;; 39 esac 40 done < $ORATAB 41 42} 43 44#main 45use_oratab 46echo "oratab start" 47echo $pids 48echo "wait start" 49while read LINE2 50do 51wait $LINE2 52echo "$LINE2 wait finish" 53done < $PIDS 54echo "wait finish" 55echo "test_success" 56rm $PIDS 57exit 0 58
# expdp.sh オラクルexpdpの処理です
#compress.sh expdpで作成したファイルの圧縮 tar cvf /hoge/expdp | gzip -c > /hogehoge/expdp_hoge.tar.gz

試したこと

上記のようなスクリプトで試してみましたがwaitが思ったように動作せず...

補足情報(FW/ツールのバージョンなど)

wait させたいのは expdp.sh, compress.sh の処理になります。

動作環境はSolaris 10
使用しているshell の変更はできませんので、
宜しくお願いいたします。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問