Как читать стандартный ввод, когда аргументы не передаются?

Скрипт не работает, когда я хочу использовать стандартный ввод, когда нет переданных аргументов (файлов). Есть ли способ, как использовать stdin вместо файла в этом коде?

Я попробовал это:

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"

Ответы на вопрос(5)

Ваш ответ на вопрос