Skip to main content
reformatting
Source Link
muru
  • 73.9k
  • 14
  • 204
  • 303

File Name: try

#!/bin/bash

star() {
    echo
    echo '--- $* no quotes'
    for Field in $*; do
        echo $Field
    done
}

star_quote() {
    echo
    echo '--- $* with quotes'
    for Field in "$*"; do
        echo $Field
    done
}

dollar() {
    echo
    echo '--- $@ no quotes'
    for Field in $@; do
        echo $Field
    done
}

dollar_quote() {
    echo
    echo '--- $@ with quotes'
    for Field in "$@"; do
        echo $Field
    done
}


#-----------------------

echo
star $*
star_quote "$*"
dollar $@
dollar_quote "$@"
echo

exit

OutputCommand:

Command: ./try 1 2 3 "4 and 5"
Results:

--- $* no quotes
1
2
3
4
and
5

--- $* with quotes
1 2 3 4 and 5

--- $@ no quotes
1
2
3
4
and
5

--- $@ with quotes
1
2
3
4 and 5

Results:

--- $* no quotes
1
2
3
4
and
5

--- $* with quotes
1 2 3 4 and 5

--- $@ no quotes
1
2
3
4
and
5

--- $@ with quotes
1
2
3
4 and 5

File Name: try

#!/bin/bash

star() {
    echo
    echo '--- $* no quotes'
    for Field in $*; do
        echo $Field
    done
}

star_quote() {
    echo
    echo '--- $* with quotes'
    for Field in "$*"; do
        echo $Field
    done
}

dollar() {
    echo
    echo '--- $@ no quotes'
    for Field in $@; do
        echo $Field
    done
}

dollar_quote() {
    echo
    echo '--- $@ with quotes'
    for Field in "$@"; do
        echo $Field
    done
}


#-----------------------

echo
star $*
star_quote "$*"
dollar $@
dollar_quote "$@"
echo

exit

Output:

Command: ./try 1 2 3 "4 and 5"
Results:

--- $* no quotes
1
2
3
4
and
5

--- $* with quotes
1 2 3 4 and 5

--- $@ no quotes
1
2
3
4
and
5

--- $@ with quotes
1
2
3
4 and 5

File Name: try

#!/bin/bash

star() {
    echo
    echo '--- $* no quotes'
    for Field in $*; do
        echo $Field
    done
}

star_quote() {
    echo
    echo '--- $* with quotes'
    for Field in "$*"; do
        echo $Field
    done
}

dollar() {
    echo
    echo '--- $@ no quotes'
    for Field in $@; do
        echo $Field
    done
}

dollar_quote() {
    echo
    echo '--- $@ with quotes'
    for Field in "$@"; do
        echo $Field
    done
}


#-----------------------

echo
star $*
star_quote "$*"
dollar $@
dollar_quote "$@"
echo

exit

Command:

./try 1 2 3 "4 and 5"

Results:

--- $* no quotes
1
2
3
4
and
5

--- $* with quotes
1 2 3 4 and 5

--- $@ no quotes
1
2
3
4
and
5

--- $@ with quotes
1
2
3
4 and 5

File Name: try

#!/bin/bash

star() {
    echo
    echo '--- $* no quotes'
    for Field in $*; do
        echo $Field
    done
}

star_quote() {
    echo
    echo '--- $* with quotes'
    for Field in "$*"; do
        echo $Field
    done
}

dollar() {
    echo
    echo '--- $@ no quotes'
    for Field in $@; do
        echo $Field
    done
}

dollar_quote() {
    echo
    echo '--- $@ with quotes'
    for Field in "$@"; do
        echo $Field
    done
}


#-----------------------

echo
star $*
star_quote "$*"
dollar $@
dollar_quote "$@"
echo

exit

 

Output:

Command: ./try 1 2 3 "4 and 5"
Results:

--- $* no quotes
1
2
3
4
and
5

--- $* with quotes
1 2 3 4 and 5

--- $@ no quotes
1
2
3
4
and
5

--- $@ with quotes
1
2
3
4 and 5

File Name: try

#!/bin/bash

star() {
    echo
    echo '--- $* no quotes'
    for Field in $*; do
        echo $Field
    done
}

star_quote() {
    echo
    echo '--- $* with quotes'
    for Field in "$*"; do
        echo $Field
    done
}

dollar() {
    echo
    echo '--- $@ no quotes'
    for Field in $@; do
        echo $Field
    done
}

dollar_quote() {
    echo
    echo '--- $@ with quotes'
    for Field in "$@"; do
        echo $Field
    done
}


#-----------------------

echo
star $*
star_quote "$*"
dollar $@
dollar_quote "$@"
echo

exit

 
Command: ./try 1 2 3 "4 and 5"
Results:

--- $* no quotes
1
2
3
4
and
5

--- $* with quotes
1 2 3 4 and 5

--- $@ no quotes
1
2
3
4
and
5

--- $@ with quotes
1
2
3
4 and 5

File Name: try

#!/bin/bash

star() {
    echo
    echo '--- $* no quotes'
    for Field in $*; do
        echo $Field
    done
}

star_quote() {
    echo
    echo '--- $* with quotes'
    for Field in "$*"; do
        echo $Field
    done
}

dollar() {
    echo
    echo '--- $@ no quotes'
    for Field in $@; do
        echo $Field
    done
}

dollar_quote() {
    echo
    echo '--- $@ with quotes'
    for Field in "$@"; do
        echo $Field
    done
}


#-----------------------

echo
star $*
star_quote "$*"
dollar $@
dollar_quote "$@"
echo

exit

Output:

Command: ./try 1 2 3 "4 and 5"
Results:

--- $* no quotes
1
2
3
4
and
5

--- $* with quotes
1 2 3 4 and 5

--- $@ no quotes
1
2
3
4
and
5

--- $@ with quotes
1
2
3
4 and 5

deleted 146 characters in body
Source Link
Bernd
  • 41
  • 2

I wrote this script to find the differences between $* and $@ File nameFile Name: try

#!/bin/bash

star() { echo echo '--- $* no quotes' for Field in $*; do echo $Field done }

star_quote() { echo echo '--- $* with quotes' for Field in "$*"; do echo $Field done }

dollar() { echo echo '--- $@ no quotes' for Field in $@; do echo $Field done }

dollar_quote() { echo echo '--- $@ with quotes' for Field in "$@"; do echo $Field done }

#-----------------------

echo echo 'Command: ./try 1 2 3 "4 and 5"' star $* star_quote "$*" dollar $@ dollar_quote "$@" echo

exit

============================================= The result is this: Command: ./try 1 2 3 "4 and 5"

--- $* no quotes 1 2 3 4 and 5

--- $* with quotes 1 2 3 4 and 5

--- $@ no quotes 1 2 3 4 and 5

--- $@ with quotes 1 2 3 4 and 5

#!/bin/bash

star() {
    echo
    echo '--- $* no quotes'
    for Field in $*; do
        echo $Field
    done
}

star_quote() {
    echo
    echo '--- $* with quotes'
    for Field in "$*"; do
        echo $Field
    done
}

dollar() {
    echo
    echo '--- $@ no quotes'
    for Field in $@; do
        echo $Field
    done
}

dollar_quote() {
    echo
    echo '--- $@ with quotes'
    for Field in "$@"; do
        echo $Field
    done
}


#-----------------------

echo
star $*
star_quote "$*"
dollar $@
dollar_quote "$@"
echo

exit


Command: ./try 1 2 3 "4 and 5"
Results:

--- $* no quotes
1
2
3
4
and
5

--- $* with quotes
1 2 3 4 and 5

--- $@ no quotes
1
2
3
4
and
5

--- $@ with quotes
1
2
3
4 and 5

I wrote this script to find the differences between $* and $@ File name: try

#!/bin/bash

star() { echo echo '--- $* no quotes' for Field in $*; do echo $Field done }

star_quote() { echo echo '--- $* with quotes' for Field in "$*"; do echo $Field done }

dollar() { echo echo '--- $@ no quotes' for Field in $@; do echo $Field done }

dollar_quote() { echo echo '--- $@ with quotes' for Field in "$@"; do echo $Field done }

#-----------------------

echo echo 'Command: ./try 1 2 3 "4 and 5"' star $* star_quote "$*" dollar $@ dollar_quote "$@" echo

exit

============================================= The result is this: Command: ./try 1 2 3 "4 and 5"

--- $* no quotes 1 2 3 4 and 5

--- $* with quotes 1 2 3 4 and 5

--- $@ no quotes 1 2 3 4 and 5

--- $@ with quotes 1 2 3 4 and 5

File Name: try

#!/bin/bash

star() {
    echo
    echo '--- $* no quotes'
    for Field in $*; do
        echo $Field
    done
}

star_quote() {
    echo
    echo '--- $* with quotes'
    for Field in "$*"; do
        echo $Field
    done
}

dollar() {
    echo
    echo '--- $@ no quotes'
    for Field in $@; do
        echo $Field
    done
}

dollar_quote() {
    echo
    echo '--- $@ with quotes'
    for Field in "$@"; do
        echo $Field
    done
}


#-----------------------

echo
star $*
star_quote "$*"
dollar $@
dollar_quote "$@"
echo

exit


Command: ./try 1 2 3 "4 and 5"
Results:

--- $* no quotes
1
2
3
4
and
5

--- $* with quotes
1 2 3 4 and 5

--- $@ no quotes
1
2
3
4
and
5

--- $@ with quotes
1
2
3
4 and 5

Source Link
Bernd
  • 41
  • 2
Loading