вам нужны пробелы до / после символов '[', ']', то есть
if [ "$1" = "" ] ; then
#---^---------^ here
echo "none"
else
echo "$1"
fi
И вам нужно обернуть вашу ссылку (на самом деле все ссылки) в $ 1 с кавычками, как отредактировано выше.
После того, как вы это исправите, вам также может понадобиться указать относительный путь к вашему скрипту, например:
source ./test.sh -test
#------^^--- there
Когда вы получаете сообщение об ошибке оболочки, которое у вас есть, оно почти всегда помогает повернутьпри отладке оболочки с set -vx
перед строками, которые вызывают ваши проблемы, ИЛИ в самом верху вашего скрипта.Затем вы можете увидеть каждую строку / блок кода, который выполняется, И значение переменных, которые использует оболочка.
Надеюсь, это поможет.