05-18-2017
Without quotes, the words in the expansion of $MY_TOKEN are passed to echo as separate arguments by the shell. The echo utility then prints each of its arguments separated by a <space> character and adds a <newline> at the end to produce a line of output.
With quotes, the shell does not perform field splitting and the quoted string is passed to echo as a single argument. And, again, the echo utility prints its argument and adds a <newline> at the end to produce a line of output.
This User Gave Thanks to Don Cragun For This Post:
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
Hello -
I have a bash script which does some logging, and I'd like to include the line number of the echo statement that pipes into $LOGGER:
MYPID=$$
MYNAME=`basename $0`
LOGGER="/usr/bin/logger -t $MYNAME($LINENO) -p daemon.error"
...
echo 'this is an entry into the log file' | $LOGGER
... (3 Replies)
Discussion started by: scandora
3 Replies
2. Shell Programming and Scripting
I have a script that takes an option for server pools to run the script against. The option is given as a comma separated list (ie, -p 201,204,301).
I'm using eval and brace expansion to get those pool numbers into an array. It works fine unless only 1 pool number is given. Here's the code:
... (5 Replies)
Discussion started by: mglenney
5 Replies
3. Shell Programming and Scripting
i write a batch file , here is the content.
dirname='date +%Y-%m-%d'
mkdir dirname
but it doen's work, it just create a folder named date and +%Y-%m-%d.
i have tried run the command seperately in the bash prompt. after the first
sentence executed , i use $dirname to watch the value of... (4 Replies)
Discussion started by: premotheus
4 Replies
4. Shell Programming and Scripting
This is what I have in my directory.
$ ls
test1.txt test2.txt test3.txt test4.txt test5.txt test_script.sh
This is what my shellscript looks like.
#!/bin/bash
for filename in /shell_expansion/*.txt; do
for ((i=0; i<=3; i++)); do
echo "$filename"
... (5 Replies)
Discussion started by: cokedude
5 Replies
5. Shell Programming and Scripting
Hello.
I cannot write a command without using eval.
Any help is welcome
Note 1 : What does the function SOMETHING has no importance.
Note 2 : What does the command find has no importance.
It is an expansion variable problem : where to put or or or anythings else
What works (FILTRE_1... (8 Replies)
Discussion started by: jcdole
8 Replies
6. Shell Programming and Scripting
I have made the following examples that print various parameter expansions
text: iv-hhz-sac/hpac/hhz.d/iv.hpac..hhz.d.2016.250.070018.sac
(text%.*): iv-hhz-sac/hpac/hhz.d/iv.hpac..hhz.d.2016.250.070018
(text%%.*): iv-hhz-sac/hpac/hhz
(text#*.): d/iv.hpac..hhz.d.2016.250.070018.sac... (2 Replies)
Discussion started by: kristinu
2 Replies
7. Shell Programming and Scripting
#!/bin/bash
SNMPW='/usr/bin/snmpwalk'
while read h i
do
loc=$($SNMPW -v3 -u 'Myusername' -l authPriv -a SHA -A 'Password1' -x AES -X 'Password2' $i sysLocation.0 2>/dev/null)
loc=${loc:-" is not snmpable."}
loc=${loc##*: }
loc=${loc//,/}
echo "$i,$h,$loc"
done < $1
My question is ... ... (1 Reply)
Discussion started by: sumguy
1 Replies
8. Shell Programming and Scripting
I am trying to become more fluent with the interworking of bash and minimize the number of external calls.
Sample Data. This will be the response of the snmp query.
SNMPv2-MIB::sysName.0 = STRING: SomeHostName
SNMPv2-MIB::sysObjectID.0 = OID: SNMPv2-SMI::enterprises.9.1.1745... (5 Replies)
Discussion started by: sumguy
5 Replies
9. Shell Programming and Scripting
Hello,
I need to split a file into two of different locations by re-direction in awk.
cat infle
aaa 1 3
bbb 2 4
aaa 3 3
bbb 4 4
aaa 5 3
bbb 6 4
cat /storage/tmp/group_a.gtf
aaa 1 3
aaa 3 3
aaa 5 3
cat /storage/tmp/group_b.gtf
bbb 2 4
bbb ... (2 Replies)
Discussion started by: yifangt
2 Replies
10. Shell Programming and Scripting
Hello All,
Could you please do help me here as I would like to perform parameter expansion in shell over a parameter expansion.
Let's say I have following variable.
path="/var/talend/nat/cdc"
Now to get only nat I could do following.
path1="${path%/*}"
path1="${path1##*/}"
Here... (8 Replies)
Discussion started by: RavinderSingh13
8 Replies
XARGS(1) General Commands Manual XARGS(1)
NAME
xargs - construct argument list(s) and execute utility
SYNOPSIS
xargs [ -t ][[ -x ] -n number ][ -s size ][ utility [ arguments... ]]
DESCRIPTION
The xargs utility reads space, tab, newline and end-of-file delimited arguments from the standard input and executes the specified utility
with them as arguments.
The utility and any arguments specified on the command line are given to the utility upon each invocation, followed by some number of the
arguments read from standard input. The utility is repeatedly executed until standard input is exhausted.
Spaces, tabs and newlines may be embedded in arguments using single (`` ' '') or double (``"'') quotes or backslashes (``''). Single
quotes escape all non-single quote characters, excluding newlines, up to the matching single quote. Double quotes escape all non-double
quote characters, excluding newlines, up to the matching double quote. Any single character, including newlines, may be escaped by a back-
slash.
The options are as follows:
-n number Set the maximum number of arguments taken from standard input for each invocation of the utility. An invocation of utility will
use less than number standard input arguments if the number of bytes accumulated (see the s option) exceeds the specified size or
there are fewer than number arguments remaining for the last invocation of utility. The current default value for number is
5000.
-s size Set the maximum number of bytes for the command line length provided to utility. The sum of the length of the utility name and
the arguments passed to utility (including /dev/null terminators) will be less than or equal to this number. The current default
value for size is ARG_MAX - 2048.
-t Echo the command to be executed to standard error immediately before it is executed.
-x Force xargs to terminate immediately if a command line containing number arguments will not fit in the specified (or default)
command line length.
If no utility is specified, echo(1) is used.
Undefined behavior may occur if utility reads from the standard input.
The xargs utility exits immediately (without processing any further input) if a command line cannot be assembled, utility cannot be
invoked, an invocation of the utility is terminated by a signal or an invocation of the utility exits with a value of 255.
The xargs utility exits with a value of 0 if no error occurs. If utility cannot be invoked, xargs exits with a value of 127. If any other
error occurs, xargs exits with a value of 1.
SEE ALSO
echo(1), find(1)
STANDARDS
The xargs utility is expected to be IEEE Std 1003.2("POSIX") compliant.
June 6, 1993 XARGS(1)