FORTUNAです。
# 思いっきりshell(bash)の話題ですよね。
matsui888 wrote:
> $ command option1 option2 option3 …
>
> という風に複数個のオプション(option1 option2 option3 …)のみを取り出して変数
> に格納したいのですが
>
>
> #!/bin/bash -x
> OPTN="$*"
>
>
> とすると変数OPTNにはcommand option1 option2 option3 …
> という風にcommandを含めた全オプションが代入されますよね。
実際にやってみました。
$ rpm -qa | grep ^bash
bash-2.05b-0vl2
$ cat test.sh
#!/bin/bash -x
OPTN="$*"
echo ${OPTN}
echo ${0}
$ ./test.sh option1 option2 option3
+ '[' -f /etc/bashrc ']'
+ . /etc/bashrc
++ '[' -n '' ']'
+ alias 'ls=ls -F --color=auto'
+ alias 'll=ls -la --color=auto'
+ alias 'la=ls -a --color=auto'
+ alias 'eng=LANG=C LANGUAGE=C LC_ALL=C'
+ umask 022
+ OPTN=option1 option2 option3
+ echo option1 option2 option3
option1 option2 option3
+ echo ./test.sh
./test.sh
> どうコーディングすればオプションだけ代入出来るようになるのでしょうか?
> (vine3.2)
オプションのみ代入できているように見えますが?
こちらの環境はVineLinux3.1ですが3.2でも同じでしょう。
もしかしたら3.2では挙動が違う?
--
FORTUNA