Если вы хотите включить двойные кавычки в двойные кавычки, вам нужно
"
\"
"
Другими словами: " \ ""
То же самое для включения одинарных кавычек в одинарные кавычки: '\' '
Вам также необходимо экранировать $ f
с помощью \ $ f
, поскольку он существует только внутри скрипта строки в кавычках.
ssh $1 "cd "\""$2"\""; pwd; echo "\""$logfilepattern"\"" ; for f in "\""$logfilepattern"\""; do echo "\""\$f"\""; done"
Что выглядит очень некрасиво, и его очень трудно читать и / или отлаживать.
В этом конкретном случае, поскольку вы управляете вводом в свою функцию и можете быть достаточно уверены, что не собираетесь давать ей какие-либо изворотливые значения (включая имена файлов с пробелами), вы можете избавиться от двойных кавычек, если ты хочешь. За исключением "$ f", если вы не уверены, что не будет файлов, соответствующих $ logfilepattern, содержащих пробелы или другие проблемные символы.
ssh $1 "cd $2; pwd; echo $logfilepattern ; for f in $logfilepattern; do echo "\""\$f"\""; done"
Если ввод каким-то образом поступает от пользователя, например в командной строке или из переменной окружения (особенно, включая переменные окружения CGI), тогда вам нужно (ну, должно) вернуться к защитному стилю цитирования всех переменных.
Una cosa es que funcione y otra cosa es que esté bien configurado.
para verificar si funciona, puede hacer una prueba con telnet
telnet localhost 80 <--put here the port squid is listening on
GET / HTTP/1.1
host:my.ownsite.tld
<-there may be here two time ENTER or CTRL+ENTER depending on your telnet config
esto debe mostrar su sitio si está bien configurado