для чего используется $ # в скрипте?

Во многих сценариях в моей организации и даже в онлайн-учебниках это обычная фраза, в которой я встречаю:

 if [ $# -eq "somethng" -o $# -eq "somethng" ] 

что соответствует этому условию $# – какой-то пользовательский ввод по умолчанию?
Может ли это также использоваться в командной строке тоже?

Linux и Unix - лучшая ОС в мире.