Я пытаюсь выполнить удаленный сценарий с SSH, и этот сценарий меняет свое поведение в зависимости от того, является ли конкретный аргумент пустым. Вот минимальный пример, где я создал простой файл tmp.sh
который отображает количество аргументов и затем, что это за аргументы. Когда я выполняю его локально, он работает как положено, говоря, что получил 3 аргумента. Но когда я выполняю скрипт через SSH, он говорит, что получил только 2 аргумента:
$ cat argtest.sh
#!/bin/bash
echo $#
echo $@
$ ./argtest.sh foo '' bar
3
foo bar
$ ssh user@localhost ./argtest.sh foo '' bar
2
foo bar
Есть ли способ получить SSH для пересылки пустого аргумента, поэтому скрипт говорит, что он получил 3 аргумента?