what is the command To print script arguments

Answers were Sorted based on User's Feedback



what is the command To print script arguments..

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

what is the command To print script arguments..

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

what is the command To print script arguments..

Answer / guest

echo $* or $#

Is This Answer Correct ?    2 Yes 1 No

what is the command To print script arguments..

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

Post New Answer

More Linux Commands Interview Questions

How do I find previous commands in linux?

0 Answers  


what is initrd image?

5 Answers   IBM, Oracle,


What could be the problem when a command that was issued gave a different result from the last time it was used?

0 Answers  


What does pwd mean in linux?

0 Answers  


Explain command grouping in linux?

0 Answers  






What is umask in linux?

0 Answers  


What are the examples of simple command?

0 Answers  


You locate a command in the /bin directory but do not know what it does. What command can you use to determine its purpose

0 Answers  


How do I check disk space in bash?

0 Answers  


What is makefile in unix?

0 Answers  


What are whois tools?

0 Answers  


What file type is a makefile?

0 Answers  


Categories