Me encuentro escribiendo un montón de funciones relacionadas que tratan con diferentes nombres (clústeres, servidores sql, servidores en general, archivos, etc.) y pongo cada uno de estos grupos de funciones en archivos separados (diga cluster_utils.ps1, por ejemplo). Quiero poder "importar" algunas de estas bibliotecas en mi perfil y otras en mi sesión de PowerShell si las necesito. He escrito 2 funciones que parecen resolver el problema, pero dado que solo he estado usando PowerShell durante un mes, pensé que podría preguntar si había alguna secuencia de comandos de "mejores prácticas" que pudiera usar en su lugar.Importación de "bibliotecas" en powershell
Para utilizar estas funciones, lo DOT-fuente de ellas (en mi perfil o de sesión) ... por ejemplo,
# to load c:\powershellscripts\cluster_utils.ps1 if it isn't already loaded
. require cluster_utils
Estas son las funciones:
$global:[email protected]{}
function require([string]$filename){
if (!$loaded_scripts[$filename]){
. c:\powershellscripts\$filename.ps1
$loaded_scripts[$filename]=get-date
}
}
function reload($filename){
. c:\powershellscripts\$filename.ps1
$loaded_scripts[$filename]=get-date
}
Cualquier comentario ser útil.
Es posible que desee agregarlos a PoshCode.org (un repositorio de scripts de comunidad) –
No he estado en ese sitio. Gracias. –
Estoy de acuerdo con Steven ... Una gran idea, me alegro de que la estés compartiendo. Ya hice lo de romper en sustantivos, y básicamente hago ls lib * | % {. $ _} en este momento sin importar si algo está cargado o no. – halr9000