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

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

新規登録して質問してみよう
ただいま回答率
85.50%
シェル

シェル(shell)はUnix や Linux 系のOSで使用されるコマンドインタプリタを指します。

sh

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

Q&A

2回答

19303閲覧

シェルスクリプトの実行が途中で止まってしまう

okaryu

総合スコア27

シェル

シェル(shell)はUnix や Linux 系のOSで使用されるコマンドインタプリタを指します。

sh

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

0グッド

0クリップ

投稿2017/06/13 02:10

シェルスクリプトの中で時間のかかる処理を実行させるとその処理が完了せず、そこでスクリプトの実行が止まってしまうことがあり困っています。しかし、実際には処理は終わっているようで、「Ctrl + c」を押すと再び続きの処理から実行され始めます。また毎回発生するわけではなく、問題なく最後まで実行されることもあります。

このような現象はどういう場合に起こるものなのでしょう?


スクリプトの内容は、SVN 上のプロジェクトのリリースを行うためのものです。
大まかに以下のようなことをやっています。

  1. trunk から tags に最新のタグを作成
  2. 作成したタグをローカルの作業フォルダにエクスポート
  3. エクスポートしたコードをすべてビルドしパッケージ作成(isoファイルの作成)

これらの処理の中で、上で述べたような現象に陥ったのは、

  • 2のタグのエクスポート
  • 3のコードの全ビルド

でした。

いずれの場合もスクリプトを実行したコマンドプロンプトでは、実行中のまま固まっているのですが、ログを確認してみるとそれらの処理は最後まで完了しているという状況でした。その状態で「Ctrl + c」を押すと続きの処理が実行され、最後のパッケージまで問題なく実行されました。

このような現象をご存知の方がおられましたら、解決法などご教授ください。
よろしくお願いいたします。

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

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

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

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

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

guest

回答2

0

シェルに -x を付けて実行すると、デバッグモードで実行できます。

スクリプトの1行目に以下のように付けてもいいですし

#!/bin/sh -x

コマンドラインから与えてもいいです。

sh -x test.sh

投稿2017/06/13 09:44

moonphase

総合スコア6621

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

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

0

・プログラムが悪い(処理が完了しているのに、終了しない)
・プログラムの使い方が間違っている(処理後になにかの待ちになっているのに、あなたが気づいていない)
とかでしょうか。

投稿2017/06/13 03:24

otn

総合スコア84423

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

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

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

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問