Как вызвать функцию из bash_profile в сценарий bash

La respuesta a la pregunta del OP es :Sí. En un RAID, un "fragmento" es la cantidad mínima de datos leídos o escritos en cada disco de datos de la matriz durante una única operación de lectura/escritura .

En su ejemplo, no necesariamente "desperdiciará" 60 -KiB como dice. Eso depende de la combinación de la estructura del sistema de archivos y la estructura RAID subyacente. Sin embargo, está planteando un punto muy importante, que es ideal si la configuración del sistema de archivos se alinea con la configuración de RAID con respecto a sus unidades de almacenamiento.

Siguiendo con su ejemplo hipotético; si tuviera un RAID con un tamaño de fragmento de 64 -KiB y un sistema de archivos superpuesto que usara tamaños de bloque de 64 -KiB, entonces sí, un archivo de 4 -KiB usaría un área completa de espacio de almacenamiento de 64 -KiB en el sistema de archivos por sí mismo. Y, al mismo tiempo, consumiría un fragmento completo de 64 -KiB en el RAID por sí solo. Sin embargo, eso se debe a que el sistema de archivos se configuró en 64 -bloques KiB. Esos bloques son la unidad más pequeña de datos de almacenamiento de ese sistema de archivos. Cualquier tamaño de archivo más pequeño que ese bloque seguirá utilizando 1 bloque de espacio de almacenamiento del sistema de archivos.

Mi punto es que su segunda pregunta es realmente relevante para el sistema de archivos y no para el RAID.

Continuando con mi ejemplo anterior, si su RAID usó 16 -fragmentos de KiB y su sistema de archivos en la parte superior del RAID usó 64 -bloques de KiB, entonces cada bloque escrito en el RAID requeriría 4 de esos fragmentos (64/16=4 ).

Ahora invierta ese proceso de pensamiento. ¿Qué pasaría si tuviera 64 -fragmentos KiB de RAID y 16 -bloques de sistema de archivos KiB?Ahora, cada bloque del sistema de archivos solo usa 1/4 del fragmento RAID. Eso significa que 1 )de su archivo de 4 -KiB ocupa 16 -KiB en el sistema de archivos; y 2 ), el RAID realizará una operación de lectura/modificación/escritura al escribir ese archivo de 4 -KiB/bloque de 16 -KiB porque la unidad de almacenamiento más pequeña del RAID es 64 -KiB. Entonces, su sistema de archivos es más eficiente, pero su RAID es menos eficiente (para esa operación de archivo en particular ).

1
31.07.2019, 13:44
2 ответа

Похоже, здесь есть две проблемы. Во-первых, для определения функции требуется ключевое слово function, по крайней мере, в моей системе, поэтому определение функции должно быть:

function certspotter(){
    curl -s https://certspotter.com/api/v0/certs\?domain\=$1 | jq '.[].dns_names[]' | sed 's/\"//g' | sed 's/\*\.//g' | sort -u | grep $1
}

Затем, как упоминалось в комментариях, скрипт, вызывающий функцию, должен получить файл, содержащий функцию. Поскольку в настоящее время у вас все настроено, это будет:

..bash_profile

Тем не менее, вы можете подумать о том, хотите ли вы вызвать свой профиль.bash _только для того, чтобы импортировать функцию. Вместо этого вы можете создать отдельный файл сценария для своей библиотеки функций.

0
27.01.2020, 23:41

Вы должны экспортировать функцию, где она определена (в профиле.bash _)

export -f certspotter
1
27.01.2020, 23:41

Теги

Похожие вопросы