こんにちは。現在シェルスクリプトを勉強中なのですがどうしてもわからないことがあり投稿させていただきました。
シェルスクリプトにて作成した引数(引数にスペースがある場合)を別のシェルスクリプトへ渡そうとしたときにうまく引き渡せなくて困っています。
詳しくは以下のスクリプト参照願います。
(1)引数作成のスクリプト
_/_/_/_/_/_/_/_/_/_/_/_/
#!/bin/sh
a="HELLO"
b="\"WOW WOW\""
test.sh $a $b
_/_/_/_/_/_/_/_/_/_/_/_/
(2)test.sh
_/_/_/_/_/_/_/_/_/_/_/_/
#!/bin/sh
echo $1
echo $2
echo $3
_/_/_/_/_/_/_/_/_/_/_/_/
これを実行すると
$1=HELLO
$2="WOW
$3=WOW"
となってしまいます。
これを
$1=HELLO
$2=WOW WOW
$3=NULL(空欄)
となるようにシェルスクリプトで作成することはできないのでしょうか?
ご教授よろしくお願いします。
よろしくお願いします。
No.2ベストアンサー
- 回答日時:
sh ./test.sh HELLO wow "WOW WOW" bau
と入力すれば目的の動作を果たします. ということで,
b="wow \"WOW WOW\" bau"
からどのように上のコマンドを作るかという勝負になって結論:
eval "sh ./test.sh HELLO $b"
"sh~" で上のコマンドを「文字列として」作り, それを eval で実行します.
No.1
- 回答日時:
a="HELLO"
b="\"WOW WOW\""
こっちでクォートするんじゃなくて、
test.sh $a $b
を
test.sh "$a" "$b"
にすればOK。
この回答への補足
sakusaker7さん
さっそく返答ありがとうございます。
期待通りの結果が出力されました。
シェルを呼び出すときにダブルクォーテーションつけるんですね^^
ついでに質問なのですが、
b="wow \"WOW WOW\" bau"
としたときに
$1=HELLO
$2=wow
$3=WOW WOW
$4=bau
という結果を得たいのですが、この場合はどのようにすればよいかおわかりになりますでしょうか?
お分かりになればおしえていただけたらありがたいです。
よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux デフォルト値のパラメータ展開 1 2022/08/12 17:34
- その他(プログラミング・Web制作) Linuxについて質問です。 引数に指定されたアクセスログのファイルからアクセス数が多い順に上位3つ 1 2023/02/03 03:46
- UNIX・Linux Linuxのbash環境下です。 1 2022/11/27 12:31
- UNIX・Linux Linuxについて2つ質問したいです。 ① シェルスクリプト名をawk1.shとして、指定されたデー 1 2023/02/03 03:49
- その他(プログラミング・Web制作) linuxについて質問です 1 2023/02/06 19:55
- UNIX・Linux 次の要件を満たすにはどのように修正したらよろしいでしょうか 1 2022/11/24 20:57
- その他(プログラミング・Web制作) test([)コマンドによる条件判定 2 2022/08/10 12:28
- その他(プログラミング・Web制作) シェルのSTEP数について教えてください。シェルスクリプトの先頭に、#!/bin/shとか書きますよ 3 2023/06/08 19:02
- UNIX・Linux Linuxについて質問です。 シェルスクリプト名をfind.shとして、以下の条件をすべて満たすファ 1 2023/02/03 03:50
- UNIX・Linux 実行の仕方及び実行結果が分かりません。 2 2022/11/17 19:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBAでパワーシェルを実行したい...
-
VBA 電話番号の正規表現について
-
vba クリップボードクリアにつ...
-
小学1年生の子です。塾に行かせ...
-
ImageMagickでgif画像の一部が...
-
楽しくて最高のプログラミング...
-
ホワイトハッカー
-
プログラミングのPythonのnoteb...
-
プログラミング ソースコード
-
プログラミング
-
Windowsのアプリ開発ってなんの...
-
ExcelVBAでFormulaR1C1を列範囲...
-
Google ColaboでGUI作成
-
Powershellとコマンドプロンプト
-
GoogleAppsScript文字列置換の...
-
プログラマーと学歴の関係性に...
-
Pythonって何を意識した言語な...
-
テキストファイルのファイル名...
-
プログラミング、アーキテクチ...
-
Webプログラムってネイティブア...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
プログラミング
-
小学1年生の子です。塾に行かせ...
-
vba クリップボードクリアにつ...
-
プログラマーと学歴の関係性に...
-
Webサイト内に埋め込んだmp4動...
-
正規表現で複数マッチ条件で悩...
-
windowsでテキストファイルの各...
-
楽しくて最高のプログラミング...
-
プログラミング ソースコード
-
Pythonって何を意識した言語な...
-
プログラミングを教えたいです...
-
pythonで複数画像からgifを作る...
-
pythonにてseleniumを使うも、...
-
Pythonでgif画像が上手く作れない
-
Google ColaboでGUI作成
-
テキストファイルのファイル名...
-
プログラミング、アーキテクチ...
-
そのまま使っただけなのに・・...
-
このURLで広告を出しているのは...
-
chatGPTで次々と質問をしていく...
おすすめ情報