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

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

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

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

sh

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

Red Hat Enterprise

Red Hat Enterpriseは、レッドハット社により開発・サポートが行われている業務向けLinuxディストリビューションです。オープンソースで無償で利用することができ、バイナリ版の入手・サポートは有償です。商用ディストリビューションとして人気が高く、代表的なLinuxの選択肢の一つです。

Q&A

解決済

3回答

419閲覧

Linuxのshellスクリプトで環境変数にダブルクオテーションで囲った上で他の環境変数を反映した値を格納したい。

966tera

総合スコア10

Linux

Linuxは、Unixをベースにして開発されたオペレーティングシステムです。日本では「リナックス」と呼ばれています。 主にWebサーバやDNSサーバ、イントラネットなどのサーバ用OSとして利用されています。 上位500のスーパーコンピュータの90%以上はLinuxを使用しています。 携帯端末用のプラットフォームAndroidは、Linuxカーネル上に構築されています。

sh

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

Red Hat Enterprise

Red Hat Enterpriseは、レッドハット社により開発・サポートが行われている業務向けLinuxディストリビューションです。オープンソースで無償で利用することができ、バイナリ版の入手・サポートは有償です。商用ディストリビューションとして人気が高く、代表的なLinuxの選択肢の一つです。

0グッド

0クリップ

投稿2022/06/24 05:31

対象のshell

text="<省略> ('/usr/sap/${SID}/<省略>')"
su - admuser -c "/usr/sap/${SID}/<省略> -x ${text} " >> ${LOG}

したいこと

他の環境変数(${SID})を反映した上で、ダブルクオテーションで囲んだ値を${text}に環境変数として格納したい。
情報があるため、一部<省略>でマスキングしています。

したこと

textにバックスラッシュ\で「"<省略> ('/usr/sap/${SID}/<省略>')"\」としてみたのですが、${SID}が文字列として認識されてしまいました。うまく環境変数を反映できなかったです。

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

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

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

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

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

guest

回答3

0

自己解決

私の記述が悪かったようで、混乱させて申し訳ございません。
想定している結果まで書けばよかったのですね。勉強になりました。

想定結果は下記のようなものでした。
SID =TST
su - admuser -c "/usr/sap/TST/<省略> -x "<省略> ('/usr/sap/TST/<省略>')" " >> ${LOG}

結果的には"${text}"とバックスラッシュで囲むことで解決いたしました。
ご回答いただきありがとうございます。

投稿2022/06/24 13:08

966tera

総合スコア10

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

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

0

こういうこと?

bash

1SID=testsid 2text="\"<省略> ('/usr/sap/${SID}/<省略>')\"" 3echo ${text}

実行結果

console

1"<省略> ('/usr/sap/testsid/<省略>')" 2

投稿2022/06/24 10:18

Y.H.

総合スコア7914

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

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

0

たとえば、こんな感じのことでしょうか?

bash

1SID=9999 2text="hogehoge ('/usr/sap/"${SID}"/foobar')" 3 4echo $text 5# ==> hogehoge ('/usr/sap/9999/foobar')

投稿2022/06/24 07:52

CHERRY

総合スコア25171

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問