On 2011/04/08, at 14:45 , Roland Häder wrote:

> Hi all,
> 
> for example the airport LFPG has a parking position with a name with
> spaces in it. My little launcher script [1] does currently not support
> this because of a for() loop will break those spaces into seperate
> lines.
> 
> Assume that ${OPTIONS} is the list of command-line parmeters (I know, I
> should rename that):
> 
> -------------- Snip ------------
> # Flushs all options to ~/.fgfsrc
> fgfs_flush_options() {
>       echo "$0: Flushing options to ~/.fgfsrc ..."
>       echo -n "" > "${HOME}/.fgfsrc"
>       for entry in ${OPTIONS}; do
>               echo "${entry}" >> "${HOME}/.fgfsrc"
>       done
> }
> -------------- Snap ------------
> 
> Can those "spaced names" be fixed e.g. to names with underscores? Or
> won't FGFS (latest GIT/master here) find them?
> 
> If not, can I somehow support them in my script?

If you write OPTIONS as an array:
 
    OPTIONS=( --airport=LFPG --parking='P 12' )

then you can write:

    for option in "${OPTIONS[@]}" ; do
        printf "%s\n" "$option"
    done >> "${HOME}/.fgfsrc"

Now, while we get one option per line, we lose the quote in .fgfsrc.  

If you need the quote there, then you may add them in a ad-hoc manner:

    OPTIONS=( --airport=LFPG --parking="'P 12'" )

or you may quote systematically all the options you write:

    for option in "${OPTIONS[@]}" ; do
        printf "'%s'\n" "$option"
    done >> "${HOME}/.fgfsrc"

but this would break if there is an option containing single quote. 
To do the right thing, you have to know exactly how .fgfsrc is processed.



-- 
__Pascal Bourguignon__
http://www.informatimago.com




------------------------------------------------------------------------------
Xperia(TM) PLAY
It's a major breakthrough. An authentic gaming
smartphone on the nation's most reliable network.
And it wants your games.
http://p.sf.net/sfu/verizon-sfdev
_______________________________________________
Flightgear-devel mailing list
Flightgear-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/flightgear-devel

Reply via email to