Поэтому я просмотрел много записей здесь и не могу понять, что я делаю здесь не так. Я новичок в написании сценариев и хочу знать, почему это не работает:
вход
./filedirarg.sh /var/logs fileordir.sh
сценарий
#! /bin/bash
echo "Running file or directory evaluation script"
LIST=$@
if [ -f $LIST ]
then
echo "The entry ${LIST} is a file"
elif [ -d $LIST ]
then
echo "The entry ${LIST} is a directory"
fi
Это приводит к
./filedirarg.sh: line 4: [: /var/logs: binary operator expected
./filedirarg.sh: line 7: [: /var/logs: binary operator expected
Это нормально работает с этим
./filedirarg.sh fileordir.sh
При цитировании $LIST
в результате оценки ничего не выводится, кроме первого оператора echo.