🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

Q&A

解決済

3回答

4485閲覧

VisualStudioCodeでシェルスクリプトのデバッグが出来ない。

muku007

総合スコア14

シェルスクリプト

シェルスクリプトは、UNIX系のOSもしくはコマンドラインインタプリタ向けに記述されたスクリプト。bash/zshといったシェルによって実行されるため、このように呼ばれています。バッチ処理などに使用されており、テキストファイルに書かれた命令を順に実行します。

0グッド

2クリップ

投稿2019/10/16 03:19

環境
Windows10
Bash-Debug
をインストール済み

   デバッグコンソールには、Bash-Debug(hardcoded script name) ①
(select script from list of sh files) ②
(select script from list of sh files) ③

①を選択しデバッグを開始すると以下のメッセージを表示し実行されません。
Error: BUG reched to unreachable code while validating environment
(code-4294967295,). if it is reproducible. please it to      https//github.com/rogalmic/vscode-bash-debug/issues.

②を選択すると、入力行がでます。
ファイル名を入力しても何もおきません。

③を選択して実行すると①と同じエラーがでます。

どうしたらデバッグ出来るようになるでしょうか?
ご指導ください。

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

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

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

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

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

guest

回答3

0

ベストアンサー

Windows(WSL2)にBash-Debugを入れて試してみました。
WSL側のOSはUbuntu18.04です。

同じような手順になっていますでしょうか?

VSCode起動時に「Remote - WSL(ms-vscode-remote.remote-wsl」のインストールを推奨しますと、インストールが求まられました。
導入済みのExtensionは以下の5つです。
イメージ説明

  1. 起動後適当に作成したshellを開いて、左のDebugボタン(虫の絵)を押して、F5押下(デバッグ開始)した画面です。

Debug起動時(F5押下)

  1. 続けてF5(続行)押下すると、デバッグコンソールにechoの結果が表示されました。

※いくつかエラーが出ていますが、実行はされるみたいです。

F5(続行)押下

WSL1かWSL2かは以下のコマンドで確認できます。
WSL2へのアップグレードは「WSL 2 のインストール手順」を参照ください。

PowerShell

1wsl --list --verbose
Windows PowerShell Copyright (C) Microsoft Corporation. All rights reserved. 新しいクロスプラットフォームの PowerShell をお試しください https://aka.ms/pscore6 PS C:\Users\nandy> wsl --list --verbose NAME STATE VERSION * Ubuntu-18.04 Running 2 PS C:\Users\nandy>

投稿2019/10/18 22:15

nandymak

総合スコア799

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

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

muku007

2019/10/20 00:42

ありがとうございました。 取りあえず、同じレベルまで到達しました。 まだ、これからですが少し進められそうです。 本当に感謝します。
nandymak

2019/10/20 01:09 編集

現時点でどのような問題(エラー)がありますか? 一度状況を整理して質問内容に追加すれば解決の糸口が掴めるかも知れません。 下にも書きましたがWSLのインストールの問題なので、タグは「シェルスクリプト」よりも「Visual Studio Code」「WSL」「WSL2」とした方が回答が付きやすいかも知れません。
muku007

2019/10/22 00:07

エラー画像を貼っておきました。前の回答欄に挿入してしまいました。 ご検討お願いできればありがたく思います。 よろしくお願いいたします。
guest

0

イメージ説明

現状、拡張子がps1のファイルのスクリプトは、デバッグできます。
ブレークポイントも設定でき実行すれば、そこに止まります。

下記画像の様に拡張子がshのファイルのスクリプトでは実行しても反応がありません。
コンソールに以下のメッセージが出ています。

To run a command as administrator (user "root"), use "sudo <<comand>>".
See "man sudo_root" for details.
nec-pcuser@NEC-PCuser-PC:/mnt/c/Users/NEC-PCuser/VSCtest$ 以下不明?

以上
よろしくお願いいたします。

投稿2019/10/21 09:37

muku007

総合スコア14

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

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

0

回答ではないのですが、状況がわからないので以下をご確認ください。

  • 以下の制限事項等はクリアしていますでしょうか?
  • WSLで動かすディストリビューションは何でしょうか?
  • WSLはWSL1 or WSL2ですか?

エラーメッセージは<code>で囲んで正確に表示させてください。

デバッグコンソールには、Bash-Debug(hardcoded script name) ①

(select script from list of sh files) ②
(select script from list of sh files) ③

デバッグコンソールはスクリーンショットなどで実際の表示をご提示ください。

Bash Debug

For Windows users:

  • Install Windows Subsystem for Linux
  • Terminal has problems with spaces in paths when powershell is used, use WSL bash instead. For beta WSL please read this
  • pathBash refers to BASH binary path in WSL filesystem, not path to wsl.exe/bash.exe

Dependencies

  1. bash version 4.0 or later
  2. cat, mkfifo, rm, pkill

Limitations and known problems

  • Use terminalKind@launch.json set to integrated or external for interactive scripts (using stdin)
  • Currently debugger stops at first command
  • $0 variable shows path to bashdb
  • Older bash versions ( 4.0 - 4.2 ) are not tested, but might work™0.

投稿2019/10/16 04:08

nandymak

総合スコア799

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

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

muku007

2019/10/16 13:29

回答ありがとうございます。 ディストリビューション、Ubuntuです。 WSL1かWSL2かわわかりません。 エラーメッセージです、 <Error: BUG: reached to unreachable code while validating environment (code-4294967295,). if it is reproducible, please it to      https://github.com/rogalmic/vscode-bash-debug/issues. >です。 スクリーンショットの載せ方が不明でした。 よろしくお願いいたします。
muku007

2019/10/18 07:02

まだ回答を求めています
nandymak

2019/10/18 22:20 編集

タグに「WSL」「Visual Studio Code」「WSL2」追加願います。
muku007

2019/11/17 11:24

launh.jsonに”プログラムXX”とかが入っているのが 原因のようです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問