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

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

新規登録して質問してみよう
ただいま回答率
85.48%
シェルスクリプト

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

Q&A

解決済

2回答

685閲覧

シェルスクリプト:外部ファイルの変数に値を格納し、実行する方法

user_h

総合スコア14

シェルスクリプト

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

0グッド

0クリップ

投稿2018/08/30 06:35

前提・実現したいこと

a.shで定義した変数fooをb.shでも使えるようにし、そのうえでa.sh上でb.shを呼び出し処理を行うということがしたいです。
環境: Ubuntu 16.04.5 LTS

該当のソースコード

[a.sh]

#!/bin/sh foo=aaa #何か変数fooをb.shで使えるようにする処理 MSG=`./b.sh` echo ${MSG}

[b.sh]

#!/bin/sh echo ${foo}

試したこと

https://orebibou.com/2014/11/%E3%82%B7%E3%82%A7%E3%83%AB%E3%82%B9%E3%82%AF%E3%83%AA%E3%83%97%E3%83%88%E3%81%A7%E5%A4%96%E9%83%A8%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%81%AB%E8%A8%98%E8%BF%B0%E3%81%95%E3%82%8C%E3%81%9F%E5%A4%89/
の真ん中あたり、「2.スクリプトファイルで定義されている変数を外部ファイル(設定ファイル)にテキストとして記述する場合」を試しました。
このサイトの情報では、テキストファイルを操作していますが、今回は外部のスクリプトファイルを操作して、実行するということがしたいです。
また、サイトの例では、一行ずつファイルを読み込んでいますが、一度にファイルを読み込んで、変数の値だけを適応して実行するということはできないのでしょうか?

質問まとめ

1、a.shからb.shの変数に値を格納し、a.sh上でb.shを実行するにはどのようにすればよいでしょうか?
2、シェルスクリプトで外部ファイルを操作したいときは、1行ずつ読み込む以外に方法はないのでしょうか?

よろしくお願いします。

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

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

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

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

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

guest

回答2

0

[a.sh]

Bash

1#!/bin/sh 2 3export foo=aaa 4 5MSG=`./b.sh` 6echo ${MSG}

でいいのでは?

投稿2018/08/30 12:09

otn

総合スコア84499

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

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

0

ベストアンサー

多分、「a.shで定義した変数fooをb.shでも使えるように」はできないと思います。
代替案として、環境変数を使えば良いのでは。

bash

1#!/bin/sh 2export foo=aiueo 3./a.sh 4./b.sh

a.sh、b.shでは、exportしたfooが使用できます。

投稿2018/08/30 06:47

ikapy

総合スコア1167

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

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

user_h

2018/08/30 09:48

回答ありがとうございます。 代案のexportでやってみます。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問