Двойные кавычки $2
(, если это значение ), является правильным решением.
Если вы смотрите на вывод set -x
, имейте в виду, что оболочка вполне может добавлять в этот вывод различные кавычки. Эти дополнительные кавычки не являются частью данных.
Пример (вbash
):
var=--vars="service_name='someothername'"
printf 'var has value %s\n' "$var"
Будет выведено
var has value --vars=service_name='someothername'
, но вывод set -x
будет выглядеть как
$ set -x
$ var=--vars="service_name='someothername'"
+ var='--vars=service_name='\''someothername'\'''
$ printf 'var has value %s\n' "$var"
+ printf 'var has value %s\n' '--vars=service_name='\''someothername'\'''
var has value --vars=service_name='someothername'
В pdksh
на OpenBSD:
$ set -x
$ var=--vars="service_name='someothername'"
+ var=--vars=service_name='someothername'
$ printf 'var has value %s\n' "$var"
+ printf var has value %s\n --vars=service_name='someothername'
var has value --vars=service_name='someothername'
Вzsh
:
$ set -x
$ var=--vars="service_name='someothername'"
+zsh:10> var='--vars=service_name='\''someothername'\'
$ printf 'var has value %s\n' "$var"
+zsh:11> printf 'var has value %s\n' '--vars=service_name='\''someothername'\'
var has value --vars=service_name='someothername'
Не беспокойтесь об этих дополнительных кавычках в выводе отладки. Просто используйте свою переменную с двойными кавычками вокруг нее, и все будет в порядке.
Я нашел ответ на AskUbuntu .
Суть в том, чтобы добавить следующую строку на стороне сервера -в/etc/samba/smb.conf
:
server min protocol = NT1
... с последующим перезапуском smbd
с одним из следующих (в качестве суперпользователя):
service smbd restart
systemctl restart smbd.service
После этого сторона Android -должна быть в состоянии принять его. Разница, очевидно, заключается в минимальной версии протокола по умолчанию между двумя версиями Samba 18.04 и 20.04.