Como ler stdin quando nenhum argumento é passado?

Script não funciona quando eu quero usar a entrada padrão quando não há argumentos (arquivos) passados. Existe alguma maneira como usar stdin em vez de um arquivo neste código?

Eu tentei isso:

if [ ! -n $1 ] # check if argument exists
   then
   $1=$(</dev/stdin)  # if not use stdin as an argument
   fi

var="$1"
while read line
   do
   ...                # find the longest line
   done <"$var"

questionAnswers(4)

yourAnswerToTheQuestion