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 do I find command history in linux?
What is chainloading?
In order to display the last five commands you have entered using the fc command, you would type?
What command is used to check the number of files, disk space, and each user’s defined quota?
1. Why "d" is postfix in almost every service name of Linux like httpd, dhcpd? 2. how to restrict su & ssh services for some users? 3. how can we configure a default gateway for 10 n/w cards in a server?
What is the command to see on which port which service is running? And what is the difference between /etc/services file and net stat command?
What is umask in linux?
1.I want to change runlevel but the Users shall not be disturbed?how? 2.Disk have 5gb disk utilization even though files unable to create, why? 3.what are the internal and external command in linux? 4.sar command o/p? 5.how list the open files? 6.what is kernel compiling? 7.How do u See complete configuration in ur system? 8.how will u make a daily updates with cron daily? 9.which port is associated with ttys0? 10.specific some problems linux admin(if u are linux admin)faced and how did u overcome it?
10 Answers IBM, TCS,
I have my default runlevel is init5 now i have configured to init 3,now i wanna run my system in init3 process without reboot the system .How will you do for this scenario?
what is the command for finding the higest memory occupied file in linux?
How do I check terminal history?
What command should you use to check your file system?