シェルスクリプト内で組み立てたオプション文字列を外部コマンドに渡して実行したい。
ただし:
- 渡すオプション文字列は深淵な理由で配列などは使わずにベタな文字列で
- launcher.sh の様にスペースを含む値も正しく扱えるように
- 外部コマンド(do-something)の呼び出し方法は自由に変えてOK
$ ./launcher.sh
[0] <-p>
[1] <foo bar>
#!/usr/bin/env perl | |
use strict; | |
use warnings; | |
my $i=0; | |
printf "[%d] <%s>\n", $i++, $_ for @ARGV; | |
#!/bin/sh | |
args='-p "foo bar"' # これは配列などは使わずこのまま変えないで | |
./do-something "$args" # ここの読み出し方は変えてOK 必要なら前処理してもOK | |
exit; | |
expected result: | |
[0] <-p> | |
[1] <foo bar> | |