Порты 80 и 443 являются стандартными портами для http и https соответственно. Если вы используете эти порты для своего приложения (вместо порта 5678), вам не нужно указывать номер порта в своих URL-адресах.
Если документ здесь должен быть добавлен только в том случае, если его нет, вы можете использоватьgrep
:
cat <<-"EOF1" > myPath/myFile.append
content...
EOF1
if ! grep -F -q -f myPath/myFile{.append,}; then
cat myPath/myFile.append >> myPath/myFile
fi
Чтобы понять это, рассмотрим следующее.
grep -F -q -f myPath/myFile{.append,}
расширяется оболочкой до grep -F -q -f myPath/myFile.append myPath/myFile
.
Команда grep
ищетmyPath/myFile
(файл, в который при необходимости следует добавить текст )любую фиксированную строку (-F
), содержащуюся вmyPath/myFile.append
(файле, содержащем текст для добавления ), чтение один шаблон в строке(-f
)и указывает, находит ли он что-либо, только по своему коду выхода без вывода(-q
).
Затем результат инвертируется !
, так что часть then
блока if
выполняется только в том случае, если grep
ничего не находит.
Por favor, no seleccione esta respuesta con el pulgar, sino la de Stephen, que marqué como correcta. Esto no es más que una variación más fácil de leer para mí.
Si el contenido del archivo de plantilla solo debe agregarse al archivo final si ninguno de ellos ya está presente en el archivo final, puede usargrep
:
cat <<-"EOF1" > myPath/myTemplate
content...
EOF1
if ! grep -F -q -f myPath/myFile myPath/myTemplate; then
cat myPath/myTemplate >> myPath/myFile
fi
El comando grep
busca myPath/endFile.sh
cualquier cadena fija(-F
)contenida en myPath/myTemplate
, leyendo un patrón por línea (-f
), e indica si encuentra alguno solo por su código de salida , sin salida(-q
).
El resultado luego se niega !
, de modo que el bloque then
del bloque if-then
solo se ejecutará si grep
no coincide con nada en el archivo final.
Cuando finaliza un proceso, devuelve un código de salida, que es un número entero pequeño. Por convención, un código de salida de 0 indica éxito, no -cero indica falla o error:
grep
devuelve 0 cuando encuentra una coincidencia y 1 si no la encuentra.
if
usa el código de salida de su argumento para decidir qué hacer; si es 0, procesa el bloque then
, de lo contrario, el bloque else
(si lo hay ).
Una puntuación(!
)cambia eso; El bloque then
solo se ejecuta si grep no coincide con nada (o encuentra un error ).