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

What is the difference between locating and locate command?

0 Answers  


Write a command that will display all .txt files, including its individual permission.

0 Answers  


What is phony in makefile?

0 Answers  


What does mkdir do in linux?

0 Answers  


what is initrd image?

5 Answers   IBM, Oracle,






I have Laptop. I want to assign DHCP ip address, but in my Laptop having Wireless and with wire NIC cards, it is possible to assign reserve ip address for both NIC card, but same host name?

4 Answers   AOL,


What does f mean linux?

0 Answers  


what is the command to uninstall processes in linux?

17 Answers   Aegon, HCL, IBM, Ugam Solutions,


What is umask 000?

0 Answers  


How do I check storage on linux?

0 Answers  


Why we use pwd command in linux?

0 Answers  


The head command writes the how many lines of a file to screen?

0 Answers  


Categories