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

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

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

Raspbianは、DebianベースのRaspberry Pi用ディストリビューション。ハードウェア浮動小数点演算を有効にすることが可能で、Webブラウズなどの速度を向上できます。

sh

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

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

teratail

teratail(テラテイル)は、プログラミングに特化した日本語Q&Aサイトです。

Q&A

解決済

2回答

349閲覧

-x フラッグを建てたshファイル実行結果における、+が2個以上表示される理由

YK13

総合スコア15

Raspbian

Raspbianは、DebianベースのRaspberry Pi用ディストリビューション。ハードウェア浮動小数点演算を有効にすることが可能で、Webブラウズなどの速度を向上できます。

sh

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

Raspberry Pi

Raspberry Piは、ラズベリーパイ財団が開発した、名刺サイズのLinuxコンピュータです。 学校で基本的なコンピュータ科学の教育を促進することを意図しています。

teratail

teratail(テラテイル)は、プログラミングに特化した日本語Q&Aサイトです。

0グッド

0クリップ

投稿2019/01/29 04:00

編集2019/01/30 07:05

以下のHPの内容をshファイル化し、macからsshしたraspbian を導入した raspberry pi 上で bash で叩いて実行したのですが、shファイル上で

source ~/.profile

を実行した直後から、途中から実行したコマンドを示す

+コマンド

に加え、謎の

++ 実行結果(?)

という行が出てきてしまい、何が起こっているのかわかりづらいです。

手打ちでコマンドを実行した際にはこのような症状が起こらなかったのですが、この++が発生してしまうのはどこに 原因がありますでしょうか?

参考までですが、shファイルはmake -j4まで実行されましたが、virtualenvの機能が起動できませんでした。

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

shファイル(setup.sh)

source ~/.profile mkvirtualenv cv -p python3 workon cv pip install numpy cd ~/opencv mkdir build cd build cmake -D CMAKE_BUILD_TYPE=RELEASE \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules \ -D ENABLE_NEON=ON \ -D ENABLE_VFPV3=ON \ -D BUILD_TESTS=OFF \ -D OPENCV_ENABLE_NONFREE=ON \ -D INSTALL_PYTHON_EXAMPLES=OFF \ -D BUILD_EXAMPLES=OFF .. sudo sed -i -e "s/CONF_SWAPSIZE=100/CONF_SWAPSIZE=2048/g" ~/etc/dphys-swapfile sudo /etc/init.d/dphys-swapfile stop sudo /etc/init.d/dphys-swapfile start make -j4 sudo make install sudo ldconfig sudo sed -i -e "s/CONF_SWAPSIZE=2048/CONF_SWAPSIZE=100/g" ~/etc/dphys-swapfile cd ~/.virtualenvs/cv/lib/python3.5/site-packages/ ln -s /usr/local/python/cv2/python-3.5/cv2.cpython-35m-arm-linux-gnueabihf.so cv2.so cd ~

#terminal 履歴 (+ source /root/.profile の行から表示がおかしい)

$ sudo bash setup.sh ~~中略~~ + sudo python3 get-pip.py Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple Collecting pip Downloading https://files.pythonhosted.org/packages/46/dc/7fd5df840efb3e56c8b4f768793a237ec4ee59891959d6a215d63f727023/pip-19.0.1-py2.py3-none-any.whl (1.4MB) 100% |████████████████████████████████| 1.4MB 1.2MB/s Installing collected packages: pip Found existing installation: pip 9.0.1 Uninstalling pip-9.0.1: Successfully uninstalled pip-9.0.1 Successfully installed pip-19.0.1 + sudo pip install virtualenv virtualenvwrapper Looking in indexes: https://pypi.org/simple, https://www.piwheels.org/simple Collecting virtualenv Downloading https://files.pythonhosted.org/packages/8f/f1/c0b069ca6cb44f9681715232e6d3d65c75866dd231c5e4a88e80a46634bb/virtualenv-16.3.0-py2.py3-none-any.whl (2.0MB) 100% |████████████████████████████████| 2.0MB 938kB/s Collecting virtualenvwrapper Downloading https://files.pythonhosted.org/packages/2b/8c/3192e10913ad945c0f0fcb17e9b2679434a28ad58ee31ce0104cba3b1154/virtualenvwrapper-4.8.2-py2.py3-none-any.whl Requirement already satisfied: setuptools>=18.0.0 in /usr/lib/python3/dist-packages (from virtualenv) (33.1.1) Collecting virtualenv-clone (from virtualenvwrapper) Downloading https://files.pythonhosted.org/packages/e3/d9/d9c56deb483c4d3289a00b12046e41428be64e8236fa210111a1f57cc42d/virtualenv_clone-0.5.1-py2.py3-none-any.whl Collecting stevedore (from virtualenvwrapper) Downloading https://files.pythonhosted.org/packages/35/fa/8683fab2a6e15ecfe107996e56fab91e52fe3ec0b40ca9440a0e1ffe6892/stevedore-1.30.0-py2.py3-none-any.whl (42kB) 100% |████████████████████████████████| 51kB 1.2MB/s Collecting pbr!=2.1.0,>=2.0.0 (from stevedore->virtualenvwrapper) Downloading https://files.pythonhosted.org/packages/f3/04/fddc1c2dd75b256eda4d360024692231a2c19a0c61ad7f4a162407c1ab58/pbr-5.1.1-py2.py3-none-any.whl (106kB) 100% |████████████████████████████████| 112kB 598kB/s Requirement already satisfied: six>=1.10.0 in /usr/lib/python3/dist-packages (from stevedore->virtualenvwrapper) (1.10.0) Installing collected packages: virtualenv, virtualenv-clone, pbr, stevedore, virtualenvwrapper Successfully installed pbr-5.1.1 stevedore-1.30.0 virtualenv-16.3.0 virtualenv-clone-0.5.1 virtualenvwrapper-4.8.2 + sudo rm -rf /root/get-pip.py /root/.cache/pip + echo -e '\n# virtualenv and virtualenvwrapper' + echo 'export WORKON_HOME=/root/.virtualenvs' + echo 'export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3' + echo 'source /usr/local/bin/virtualenvwrapper.sh' + source /root/.profile ++ '[' /bin/bash ']' ++ '[' -f /root/.bashrc ']' ++ . /root/.bashrc ++ mesg n ++ true ++ export WORKON_HOME=/root/.virtualenvs ++ WORKON_HOME=/root/.virtualenvs ++ export VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 ++ VIRTUALENVWRAPPER_PYTHON=/usr/bin/python3 ++ source /usr/local/bin/virtualenvwrapper.sh +++ '[' /usr/bin/python3 = '' ']' +++ '[' '' = '' ']' +++ VIRTUALENVWRAPPER_VIRTUALENV=virtualenv +++ '[' '' = '' ']' +++ VIRTUALENVWRAPPER_VIRTUALENV_CLONE=virtualenv-clone +++ VIRTUALENVWRAPPER_ENV_BIN_DIR=bin +++ '[' '' = Windows_NT ']' +++ '[' '' = '' ']' +++ export VIRTUALENVWRAPPER_PROJECT_FILENAME=.project +++ VIRTUALENVWRAPPER_PROJECT_FILENAME=.project +++ export VIRTUALENVWRAPPER_WORKON_CD=1 +++ VIRTUALENVWRAPPER_WORKON_CD=1 +++ '[' -z '' ']' +++ '[' -n /bin/bash ']' +++ export VIRTUALENVWRAPPER_SCRIPT=/usr/local/bin/virtualenvwrapper.sh +++ VIRTUALENVWRAPPER_SCRIPT=/usr/local/bin/virtualenvwrapper.sh +++ virtualenvwrapper_initialize ++++ virtualenvwrapper_derive_workon_home ~~後略~~

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

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

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

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

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

guest

回答2

0

「+」の正体

shell実行時に現れる「+」記号は、「-xオプション」によるものです。
このオプションをONにすることで、シェルの実行結果をトレースしやすくなります。

setup.sh の中に、set -o xtraceの一文がありませんでしょうか。

http://itdoc.hitachi.co.jp/manuals/3021/3021313320/JPAS0098.HTM

投稿2019/01/29 04:14

kazto

総合スコア7196

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

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

0

ベストアンサー

++という表示は+が重なる事から想像されるように、まずはシェルのネストの場合です。

Bash

1$ set -x 2$ echo foo 3+ echo foo 4foo 5$ echo `date` 6++ date 7+ echo Tue Jan 29 13:24:00 JST 2019 8Tue Jan 29 13:24:00 JST 2019

dateはサブシェルで実行されますので、++になります。

後は、今回の例のようなsourceの場合です。sourceコマンドはサブシェルを起動する訳じゃなくて今のシェルのなかで実行されますが、「どこでsourceが終わったのか」をわかるようにするために、souceで読んだファイルの中では+を1つ増やして表示するのではないかと思います。

投稿2019/01/29 04:28

otn

総合スコア84499

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

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

otn

2019/01/29 04:29

> -e フラッグを建てた 「-x フラグを立てた」 ですね。
YK13

2019/01/30 07:08

なるほど、 ありがとうございます! ネストを組まないように表示させるような設定はできたりしますでしょうか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問