bash special parameters

Updated: 06 February 2025

File my_script.sh

#!/bin/bash

b_func(){
    echo ------
    for a in "$@"; do
      echo "$a"
    done
    echo ------
}

a_func(){
    # name of script or shell
    echo "$0"

    # 1st arg
    echo "$1"

    # 2nd arg
    echo "$2"

    # num of args
    echo $#

    # all args
    echo "$@"

    # all args
    echo "$*"

    # probably what you want
    b_func "$@"

    b_func $@

    b_func "$*"

    b_func $*
}

a_func 'a b' c

false

# last command exit status
echo $?

Result of running ./my_script

./my_script.sh
a b
c
2
a b c
a b c
------
a b
c
------
------
a
b
c
------
------
a b c
------
------
a
b
c
------
1

See https://www.gnu.org/software/bash/manual/html_node/Special-Parameters.html

Leave a comment