Из чего значение if test $# = 1 и if test -f $1?
if test $# = 1
if test -f $1
$# = 1:
$# = 1
Если количество аргумента, переданного сценарию, равно одному.
-f $1:
-f $1
Если вводимый параметр является регулярным файлом и существует.
Читать дальше:
man test