Присвоение переменных не должно включать $
и пробелы вокруг =
. Я бы также дважды процитировал задание. Таким образом, назначение переменной должно выглядеть следующим образом.
a="/is115/idm/dsproj/scripts/l.txt"
Судя по дальнейшему чтению скрипта, вы хотите сохранить содержимое файла 1.txt
в $a
, а не сам путь к файлу. Для этого можно использовать следующее задание.
read -r a < /is115/idm/dsproj/scripts/l.txt
(read -r
читает первую строку файла, удаляет начальные и конечные пробелы и табуляции (, принимая значение по умолчанию$IFS
)и сохраняет его в предоставленной переменной)
Вы также можете заключить в двойные кавычки переменную $a
в операторе if
.
if [ "$a" -gt 0 ];
Вы также можете использоватьhttps://www.shellcheck.net/для проверки синтаксиса вашего скрипта.
Вместо этого вам придется перенаправить порты со стороны VPS на внутренний IP-адрес локальной машины. Как и на маршрутизаторе у вас дома, на локальный адрес вашего ПК. Не подключать локальную машину к VPS.