commandline session
$cat pm.sh
#!/bin/bash
filename=${1##*/}
echo $filename
$sh pm.sh /bin/bash
bash
$vim pm.sh
$cat pm.sh
#!/bin/bash
filename=${1}
echo $filename
$sh pm.sh /bin/bash
/bin/bash
$vim pm.sh
$cat pm.sh
#!/bin/bash
filename=${#}
echo $filename
$sh pm.sh /bin/bash
1
$vim pm.sh
$cat pm.sh
#!/bin/bash
filename=${##}
echo $filename
$sh pm.sh /bin/bash
1
$vim pm.sh
$cat pm.sh
#!/bin/bash
filename=${*}
echo $filename
$sh pm.sh /bin/bash
/bin/bash
$vim pm.sh
$cat pm.sh
#!/bin/bash
filename=${/}
echo $filename
$sh pm.sh /bin/bash
pm.sh: 3: pm.sh: Bad substitution
$