Bash set: Difference between revisions

From NovaOrdis Knowledge Base
Jump to navigation Jump to search
No edit summary
No edit summary
Line 24: Line 24:


so in order to turn it back into positional argument, you will have to <font color=red>??? do something, did not figure it out yet.</font>
so in order to turn it back into positional argument, you will have to <font color=red>??? do something, did not figure it out yet.</font>
==List Separator==
The default list separator is space. That can be changed by setting the value of the <tt>IFS</tt> variable before executing <tt>set</tt>.
Example:
<pre>
arg="a,b,c"
IFS=","
set ${arg}
</pre>
will identically assign "a", "b", "c" to positional parameters $1, $2 and $3.
<blockquote style="background-color: Gold; border: solid thin Goldenrod;">
:<br>'''Note''' you must set IFS back to " " before using it split the arguments as shown above.<br>
</blockquote>





Revision as of 05:50, 20 February 2016

External

Internal


set and Positional Parameters

arg="a b c"
set ${arg}

assigns "a", "b", "c" to positional parameters $1, $2 and $3.

Note that if any of the space-separated argument contains '--', set will try to interpret that sequence of characters:

set: --: invalid option

so in order to turn it back into positional argument, you will have to ??? do something, did not figure it out yet.

List Separator

The default list separator is space. That can be changed by setting the value of the IFS variable before executing set.

Example:

arg="a,b,c"
IFS=","
set ${arg}

will identically assign "a", "b", "c" to positional parameters $1, $2 and $3.


Note you must set IFS back to " " before using it split the arguments as shown above.



__Referenced by:__\\ [{INSERT com.ecyrd.jspwiki.plugin.ReferringPagesPlugin WHERE max=20, maxwidth=50}]