what is the command To print script arguments
Answers were Sorted based on User's Feedback
Answer / shabab
$* and $@ are the right answers
$# - prints out the number of arguments passed
Consider the below code
########################
for i in "$*"
do
print $i
done
for i in "$@"
do
print $i
done
########################
and you call the script by saying
#samp.sh hai welcome to "Unix Forum"
hai welcome to Unix Forum
hai
welcome
to
Unix Forum
The first line is the output by printing out $*
the next four lines are with the help of $@.
So
$* will combine all arguments to a single string
$@ will have each arguments as a seperate string
Is This Answer Correct ? | 4 Yes | 0 No |
Answer / bc
$@ seems to be another option. Difference between $* and $@
is that $@ recognizes multiple strings given in quotes as a
single word.
Is This Answer Correct ? | 3 Yes | 0 No |
Answer / alf55
There is a difference between using $@ and using "$@". The
first is the same as using $*, while the latter is what was
being described ad $@. It only handles the arguments
correctly when used as "$@". However, you will not see where
the arguments are changing in its simple usage in a print.
echo "arguments are:"; for arg in "$@"; do echo "
${arg}"; done
Will show each argument on a new line indented by four spaces.
Here is an example:
[code]
bash$ function show_simple_args
> {
> echo "There are $# arguments passed, can you find
them correctly?"
> echo "using \$*:"
> echo $*
> echo "using \$@:"
> echo $@
> echo "using \"\$@\":"
> echo "$@"
> echo "using for loop with \$*:"
> echo "arguments are:"; for arg in $*; do echo "
${arg}"; done
> echo "using for loop with \$@:"
> echo "arguments are:"; for arg in $@; do echo "
${arg}"; done
> echo "using for loop with \"\$@\":"
> echo "arguments are:"; for arg in "$@"; do echo "
${arg}"; done
> }
bash$
bash$ show_simple_args "arg 1" "arg 2" "arg 3" "arg 4"
There are 4 arguments passed, can you find them correctly?
using $*:
arg 1 arg 2 arg 3 arg 4
using $@:
arg 1 arg 2 arg 3 arg 4
using "$@":
arg 1 arg 2 arg 3 arg 4
using for loop with $*:
arguments are:
arg
1
arg
2
arg
3
arg
4
using for loop with $@:
arguments are:
arg
1
arg
2
arg
3
arg
4
using for loop with "$@":
arguments are:
arg 1
arg 2
arg 3
arg 4
bash$
[/code]
Is This Answer Correct ? | 0 Yes | 1 No |
How many linux commands are there?
How do I stop a linux job?
What is cd command used for?
How do I open a text file in cmd?
Is llvm a compiler?
What is the difference between clang and llvm?
what is emacs editor and feature........???????????????????????????
What could be the problem when a command that was issued gave a different result from the last time it was used?
What are the 4 kinds of sentences with examples?
hi friends how to reinstall the grub.conf file. once i delete the grub file in perminatle ofter how to get back that file. plz send me ans. regards. madhu.m
How do I check my system performance?
How to FTP user access other directory except his own home directory ?