Титла: Здравейте някой ако може да помогне с тази грешка. Публикувано от: supportpc в Nov 16, 2018, 17:21 Това е скрипта
#!/bin/sh adddomainblock() { if [ ! -z "$1" ] ; then echo Blocking domain $1 with bind sed "/"$1/d" -i /etc/bind/blacklisted.domains echo zone "$1" {type master; file "blacklisted.zones";}; >> /etc/bind/blacklisted.domains else echo "!! Need domain to handle" fi } това е грешката ./adddomainblock: 13: ./adddomainblock: Syntax error: Unterminated quoted string Титла: Re: Здравейте някой ако може да помогне с тази грешка. Публикувано от: remotexx в Nov 16, 2018, 18:18 предполагам грешката е в тоя ред - само там има нечетен брой кавички
Код пробвай с единични кавички Код
Също така имай предвид че и в текста (мачнат от $1) някой неща трябва да се искейпват за да станат правилно форматиран регулярен израз напр. /1.2.3.4/ ще мачва още и '112.3.4' защото '.' мачва всеки един символ докато /1\.2\.3\.4/ ще мачва само '1.2.3.4.' още специални символи от рег. изрази - [] () {} . * etc. Ако ще мачваш само IP адреси - теб те интересуват само '.' и '[]' ако имаш IPv6 The notation in that case is to encode the IPv6 IP number in square brackets: http://[2001:db8:1f70::999:de8:7648:6e8]:100/ That's RFC 3986, section 3.2.2: Host A host identified by an Internet Protocol literal address, version 6 [RFC3513] or later, is distinguished by enclosing the IP literal within square brackets ("[" and "]"). This is the only place where square bracket characters are allowed in the URI syntax. In anticipation of future, as-yet-undefined IP literal address formats, an implementation may use an optional version flag to indicate such a format explicitly rather than rely on heuristic determination. Титла: Re: Здравейте някой ако може да помогне с тази грешка. Публикувано от: nslave в Nov 16, 2018, 18:41 Предполагам, че това целиш.
Код
Също така няма необходимост да е във функция ако ще е гол скрипт. А за да можеш да стигнеш сам до отговора друг път, първо се чете грешката. Syntax error: Unterminated quoted string трябва да те насочи към това, че имаш проблем с кавичките. Следващата ти стъпка е да разбереш къде е проблема, защото явно не е на 13-ти ред, защото нямаш толкова редове. Коментираш всичко с # и откоментираш по един ред във функцията и if-a, да видиш кой гърми или пък се опитваш да ги изпълниш като ги paste-неш в терминала (може да смениш файла върху, който действат, че да не се заколиш). Титла: Re: Здравейте някой ако може да помогне с тази грешка. Публикувано от: supportpc в Nov 26, 2018, 10:57 Благодаря Колега.
|