Empezando
¿Qué necesito antes de poder usar?ash?
Necesitas elashejecutable, un punto final de IA y un nombre de modelo. Correrash installlos configura automáticamente: utiliza una clave API de proveedor de nube ya configurada o un servidor de inferencia local en ejecución cuando se encuentra; de lo contrario, muestra un menú de proveedor numerado y solicita una clave API, luego le permite elegir un modelo de la lista de modelos del punto final. También puedes configurarASH_AI_ENDPOINTyASH_AI_MODELa mano. Un punto final local como Ollama puede usarhttp://localhost:11434y un host LAN comohttp://brain.local:11434o una IP privada también se trata como local (a menos queASH_STRICT=1); Los puntos finales en la nube deben usar HTTPS y generalmente requierenASH_AI_AUTH_TOKEN. La integración de Shell es voluntaria: siempre puedes ejecutarash "your question"directamente.
donde estaashinstalar y ¿cómo compruebo que mi shell pueda encontrarlo?
El instalador verificado colocaashen~/.local/bin/ash. Añade ese directorio a tuPATHusando la configuración normal de su shell;ash installno edita los archivos de inicio del shell a menos que pases--shell-integration. Abra una nueva terminal, luego ejecutecommand -v ashpara confirmar. El actualizador automático instala su binario de reemplazo en la misma ubicación local del usuario. El instalador requiere Sigstorecosignpara verificar el manifiesto de suma de verificación firmado.
¿Cómo uso?ashsin cambiar mi caparazón?
Pase un mensaje citado directamente:ash "how do I find large files?". Sin argumentos,ashtambién acepta un mensaje de entrada estándar no interactivo, comogit diff | ash. El uso directo es la opción menos sorprendente cuando estás aprendiendoasho escribir un guión.
¿Por quéash¿Digo que mi configuración de IA está incompleta?
comprueba esoASH_AI_ENDPOINTyASH_AI_MODELno están vacíos en el entorno dondeashcorre. Para un nombre de host en la nube, configure tambiénASH_AI_AUTH_TOKENcuando lo requiera el proveedor. Correrprintf '%s\n' "$ASH_AI_ENDPOINT" "$ASH_AI_MODEL"para confirmar que los dos primeros valores están presentes, pero no imprima un token de autenticación en una grabación de terminal o registro compartido.
Instalación y actualización
Haceash¿Funciona en Windows 11?
No de forma nativa.ashadmite bash, zsh y Fish en macOS, Linux y FreeBSD; no hay ningún destino de instalación de PowerShell. Utilice WSL para la experiencia Linux compatible.
¿Cómo instalo?ashen el Subsistema de Windows para Linux (WSL)?
Sigue elInstrucciones de instalación de Linuxdentro de su distribución WSL, prefiriendo su administrador de paquetes. Entoncesconfigurar un proveedor y, opcionalmente, habilitar la integración de Bash. No existe un instalador nativo de Windows.
¿Cómo actualizo?asha la última versión de lanzamiento?
Utilice el administrador de paquetes propietario para instalaciones Homebrew/APT/DNF/Pacman.ash updatees solo para instalaciones de versión estable bajo~/.local/bin; verifica el manifiesto firmado por Sigstore y el resumen del archivo, y rechaza una firma fallida. Las instalaciones nativas .pkg y de directorio personalizado necesitan el reemplazo del manual/instalador original. Veractualizaciones y suscripciones a canalespara lanzamiento, beta y nocturno.
yo corríash install. ¿Por qué no cambia nada en este terminal?
La integración de Shell está deshabilitada de forma predeterminada. Para habilitarlo, ejecuteash install --shell bash --shell-integration(o seleccionezshofish); no reescribe el proceso de shell que ya se está ejecutando. Abra una nueva terminal o vuelva a cargar el archivo de inicio seleccionado. Correrash install --shell bash --disable-shell-integrationquitarAshbloque administrado mientras se preserva el contenido circundante.
Los comandos desconocidos todavía dicen "no encontrado". ¿Cómo soluciono problemas de integración de shell?
Primero confirme que habilitó la integración de Shell conash install --shell bash --shell-integration(sustituya su shell), luego ejecutecommand -v ash; el gancho no puede invocar un binario que su shell no puede encontrar. Vuelva a cargar o reinicie el shell y verifique que su archivo de inicio contenga el>>> ash install >>>bloque gestionado. Finalmente correash snooze off, porque una repetición deja intencionalmente comandos desconocidos como fallas normales "no encontradas".
¿Qué archivos hace?ash installcambiar y ¿puedo obtener una vista previa?
Gestiona la configuración bajo$XDG_CONFIG_HOME/ash(por defecto~/.config/ash), datos bajo$XDG_DATA_HOME/ash(por defecto~/.local/share/ash), estado bajo$XDG_STATE_HOME/ash(por defecto~/.local/state/ash), y almacenar en caché en$XDG_CACHE_HOME/ash(por defecto~/.cache/ash). Los archivos de inicio se cambian sólo con--shell-integration. Usarash install --shell bash --shell-integration --dry-runpara obtener una vista previa; el ensayo no escribe archivos. Volver a ejecutar la instalación es idempotente; usar--overwritesolo cuando desee actualizar los archivos de arranque administrados.
Haceash¿Apoyo a los peces?
Sí. Correrash install --shell fish --shell-integrationpara optar por participar.ashagrega un bloque administrado a$XDG_CONFIG_HOME/fish/config.fish, o~/.config/fish/config.fishcuando XDG_CONFIG_HOME no está configurado. Usos del pescadofish_command_not_found, por lo que llega un comando sin resolverashcon sus argumentos originales.
¿Por qué no minúsculas?testytypeen Pescado?
Fish reserva esos nombres en minúsculas como elementos integrados esenciales y no permite que una función los reemplace. UsarTest ...oType ...expresarashintentar o invocarash "..."directamente. Otros envoltorios de colisión compatibles siguen estando disponibles.
¿Qué pasa con ksh93?
ksh93 no es compatible con la integración de shell. EsFPATHel comportamiento solo puede cargar un archivo con el nombre de un comando desconocido; no tiene una devolución de llamada genérica de comando no encontrado que pueda implementar de forma seguraashenrutamiento rápido o ciclo de vida del corredor.
IA y conexiones
Haceashincluir la IA?
No.ashes un cliente para un punto final de IA que usted configura. ColocarASH_AI_ENDPOINTyASH_AI_MODEL;ashadmite Ollama local y otros servidores locales compatibles con OpenAI (LM Studio, llama.cpp, MLX, LocalAI, vLLM, text-spawn-webui, Jan, GPT4All) y detecta adaptadores de proveedores de nube compatibles desde el punto final, con un opcionalASH_AI_PROVIDERanular.
¿Qué son los servidores MCP y cómo agrego uno?
Los servidores MCP (Protocolo de contexto de modelo) exponen herramientas a las que un modelo de IA puede llamar, como búsqueda, análisis o acciones específicas de servicio. Los servidores remotos no están habilitados de forma predeterminada. Para agregar un servidor HTTP MCP Streamable confiable, useash mcp add <url>o agregue su URL en su propia línea en$XDG_CONFIG_HOME/ash/.ash_allow(por defecto~/.config/ash/.ash_allow).Ashse conecta a través de su broker y ofrece las herramientas del servidor al modelo. Utilice únicamente servidores en los que confíe: sus herramientas pueden realizar acciones en su nombre. Se requiere HTTPS excepto para los servidores de desarrollo localhost. Si la inicialización de MCP falla,ashcontinúa sin herramientas MCP remotas: advierte en sesiones interactivas y permanece en silencio en sesiones no interactivas.
¿Pueden los trabajos programados utilizar servidores MCP?
No. Las tareas programadas y otras tareas no interactivas no heredan el intermediario de un shell interactivo, por lo que las herramientas MCP remotas no están disponibles.Ashaún ejecuta el mensaje sin herramientas MCP y suprime este error de inicialización esperado. Por lo tanto, un mensaje que se basa en MCP puede finalizar sin los datos o la acción solicitada. No programe mensajes que requieran MCP.
¿Funciona MCP cuandoASH_STRICT=1?
Sí. Una línea URL HTTP(S) registra explícitamente un servidor MCP y no se trata como un ejecutable de shell. El modo estricto no deshabilita los servidores MCP configurados. todavía se aplicaAshProtecciones de salida no confiables para el contenido de la herramienta devuelta.
¿Cómo funciona MCP OAuth y dónde se almacenan las credenciales?
Para un servidor protegido con OAuth,Ashabre la página de autorización en el navegador de escritorio cuando hay una GUI disponible; si no puede abrir un navegador, imprime una URL para autorizar manualmente en un navegador en el mismo host. Usarash mcp add <url> --no-browserutilizar siempre el flujo terminal. Para conexiones OAuth directas, el descubrimiento permite direcciones IP no públicas solo para la autoridad MCP registrada exacta; otros hosts de OAuth siguen sujetos al bloqueo de direcciones no públicas. Un proxy de salida configurado es responsable de filtrar sus direcciones de destino. El corredor maneja la devolución de llamada, el intercambio de tokens, la actualización y la sesión MCP persistente. Las credenciales se almacenan en el administrador de credenciales del sistema operativo cuando están disponibles. Si no está disponible, configure el respaldo del archivo cifrado usando un archivo aleatorio de 32 bytes.ASH_MCP_CREDENTIAL_KEY;Ashnunca almacena la clave en sí.
¿Dónde puedo encontrar AUTH_KEY para los proveedores de IA en la nube más populares?
ashusosASH_AI_AUTH_TOKENpor su token al portador opcional; no crea ni distribuye claves de proveedor. Cree una clave en su cuenta de proveedor, comoAbierto AI,antrópico,Estudio de IA de Google,Azure abierto AI,Mistral,Adherirse,Groq,xAI,búsqueda profunda,Juntos IA,enrutador abierto,AbrazosCara, oOllama, luego expórtelo como la variable de entorno del proveedor (o establezcaASH_AI_AUTH_TOKENdirectamente).ash installdetecta automáticamente variables de entorno específicas del proveedor admitidas. Los puntos finales de la nube deben usar HTTPS y requerir un token, excepto AWS Bedrock; direcciones privadas/LAN y.localLos nombres de host se tratan como locales a menos queASH_STRICT=1está configurado.
Haceash¿Abrir una nueva conexión cada vez?
No apto para uso normal interactivo del shell Unix. Bash, zsh y Fish inician un intermediario por sesión de shell, se comunican con él a través de un socket Unix privado y reutilizan su grupo de conexiones HTTP limitado. El corredor sale después de la inactividad; Los trabajos programados utilizan solicitudes directas en lugar de un intermediario de shell persistente.
¿Fish utiliza el corredor?
Sí. El contenedor Fish inicia y reutiliza el mismo intermediario por sesión que bash y zsh, actualiza su arrendamiento inmediatamente antes de unaashsolicitud y mantiene silenciosa la configuración del corredor.
¿Qué sucede si una solicitud es lenta, no está disponible o cambio de opinión?
PrensaCtrl-Cpara cancelar una solicitud en vuelo. El tiempo de espera predeterminado para la solicitud de IA es de tres minutos; colocarASH_AI_TIMEOUT, Por ejemploASH_AI_TIMEOUT=90s, para cambiarlo.ashreintenta fallos de IA reintentables hasta tres veces de forma predeterminada con un breve retroceso limitado; sintoniza ese comportamiento conASH_RETRY_MAX_ATTEMPTS,ASH_RETRY_BASE_DELAY, yASH_RETRY_MAX_DELAY.
Seguridad y Control
¿Cómo puedo bloquear?ashpara estar más seguro y ¿cuáles son las implicaciones?
Mantenga estrecha la lista de ejecutables permitidos, favorezca las herramientas de solo lectura y no agregue comandos privilegiados o destructivos. ColocarASH_STRICT=1para bloquear patrones de inyección rápida reconocidos de salidas de herramientas, archivos, secuencias de comandos, canalizaciones y agentes secundarios que no sean de confianza. Esto también puede ocultar texto legítimo que se parezca a un intento de inyección. La lista de permitidos es un límite de ejecución, no un entorno limitado:ashy las herramientas permitidas aún se ejecutan como usted.
Poderashejecutar comandos destructivos comorm?
No con la lista de permitidos predeterminada instalada. Se desaconseja expresamenterm,mv,dd,chmod,chown,kill, ysudo. Si agregas uno de ellos,ashpuedes solicitarlo con tus permisos; revise esa decisión cuidadosamente.
¿Cómo cambio los comandos?ash¿Está permitido ejecutar?
Editar$XDG_CONFIG_HOME/ash/.ash_allow(por defecto~/.config/ash/.ash_allow) y enumera los nombres de los ejecutables básicos, uno por línea o separados por comas. Es independiente$TOOLS_DIR_LISTy$PLUGINS_DIR_LISTlas directivas permiten scripts administrados y complementos nativos elegibles; reemplácelos con nombres literales para una política restrictiva. Los scripts y complementos elegibles son archivos ejecutables normales en$XDG_DATA_HOME/ash/toolsy$XDG_DATA_HOME/ash/plugins(base predeterminada~/.local/share/ash). Agregar comandos denegados a$XDG_CONFIG_HOME/ash/.ash_deny, o establecerASH_ALLOW/ASH_DENYa listas separadas por comas. Los cambios se leen en el siguiente.ashpedido.
que usuario esashcorriendo hacia abajo?
ashy cada herramienta permitida se ejecuta como el usuario que iniciaash. No eleva privilegios.AshLos directorios y archivos XDG administrados utilizan permisos restrictivos, pero su contenido permanece accesible para su usuario y para cualquier proceso que usted permita explícitamente.
Haceash¿Confiar en el texto recibido a través de la tubería igual que el texto del usuario? ¿Qué protecciones existen para los datos maliciosos?
Sí. Cuandoashno recibe argumentos de línea de comando y la entrada estándar se canaliza, trata esa entrada como el mensaje del usuario. No canalice páginas web, registros o texto generado que no sean de confianza directamente aasha menos que tenga la intención de autorizarlo como un aviso. Esto difiere deash-Herramienta administrada, archivo, script, canalización y salida de agente secundario:ashetiqueta esos resultados como evidencia no confiable e indica al modelo que nunca siga sus instrucciones. ColocarASH_STRICT=1para reemplazar adicionalmente frases reconocidas de inyección rápida en evidencia no confiable. Las reglas de ejecución de lista blanca y argumento directo aún se aplican a la ejecución de herramientas.
son misasharchivos privados de otros usuarios en esta computadora?
AshLos directorios y archivos XDG administrados utilizan permisos restrictivos solo para propietarios cuando son compatibles. Esto protege contra otras cuentas locales bajo permisos normales de Unix, pero no contra su propia cuenta, administradores, copias de seguridad o software que elija ejecutar con acceso a su directorio personal.
Herramientas y flujo de trabajo
Haceash¿Soporta tuberías y otras tradiciones de Unix?
Sí. Puedes canalizar texto enashcomo indicación, por ejemplogit diff | ash. Para las canalizaciones de herramientas solicitadas por IA,ashadmite de dos a dieciséis ejecutables incluidos en la lista permitida conectados directamente sin un shell, comols | grep pattern | pbcopy. Los patrones de control de Shell en los argumentos de la herramienta están bloqueados y todos los ejecutables en unashLa canalización administrada debe estar incluida en la lista de permitidos.
Voluntadash¿Reinterpretar comandos dentro de mis scripts de shell, comandos SSH o trabajos cron?
No. Los contenedores de integración Bash y zsh regresan inmediatamente en shells no interactivos, por lo que los scripts, los trabajos de CI, las frases ingeniosas de SSH y los comandos cron mantienen el comportamiento normal de comando no encontrado. Utilice una invocación explícita comoash "summarize this log"osome-command | ashcuando la automatización debería llamarash.
¿Cómo puedo parar?ashde interpretar mis comandos durante unos minutos?
Correrash snoozedurante los cinco minutos predeterminados, o especifique una duración comoash snooze 30soash snooze 1h. Correrash snooze offpara reanudar inmediatamente. Snooze pausa el enrutamiento automático de comandos no encontrados y de envoltura; explícitoash ...Los comandos todavía funcionan.
¿Cómo puedo depurar?ashy ver más información sobre lo que está haciendo?
ColocarASH_VERBOSE=1antes de correrashpara habilitar una salida de depuración estructurada y un panel de ejecución de terminal. ColocarASH_LOG_FILEescribir JSON de depuración en un archivo;ASH_LOG_MAX_BYTEScontrola la rotación y el valor predeterminado es 1 MiB cuando se configura un archivo de registro.
¿Qué límites se aplican cuandoashejecuta herramientas?
De forma predeterminada, cada llamada a la herramienta tiene un tiempo de espera de 15 segundos y captura hasta 8192 bytes de salida. Una solicitud de IA puede realizar hasta 16 iteraciones de bucle de herramientas y unaashEl oleoducto gestionado tiene de dos a dieciséis etapas. Ajuste el tiempo de espera de la herramienta y el límite de salida conASH_TOOL_TIMEOUTyASH_TOOL_OUTPUT_MAX; mantenga la salida enfocada con comandos comohead,tail, ogrep.
¿Dónde está el mensaje predeterminado del sistema?
El archivo de aviso canónico es$XDG_CONFIG_HOME/ash/.ash_system(por defecto~/.config/ash/.ash_system), instalado desde el paquete predeterminado cuando ejecutaash install. Archivos existentes bajo el antiguo.~/.ashEl espacio de trabajo no se migra ni se lee automáticamente. Común$VARIABLELos valores se expanden desde el entorno, pero$TOOLS_DIR_LIST,$PLUGINS_DIR_LIST, y$IF_PYTHON_AVAILABLEestán reservados internosAshsustituciones y nunca derivadas del entorno.
¿Dónde coloco mis propios scripts y complementos nativos?ashpara llamar como herramientas?
Coloque los scripts de Python del usuario$XDG_DATA_HOME/ash/tools/y complementos binarios nativos en$XDG_DATA_HOME/ash/plugins/(base predeterminada~/.local/share/ash). Asegúrese de que sean ejecutables y agregue el nombre simple del ejecutable a$XDG_CONFIG_HOME/ash/.ash_allow(o confiar en$TOOLS_DIR_LIST/$PLUGINS_DIR_LIST).Ashno invoca un shell para los comandos y complementos permitidos de Unix.
¿Cuáles son las mejores prácticas para una herramienta o complemento para que la IA comprenda su propósito y uso?
Sigue elcontrato de complemento nativo: exponer opciones CLI predecibles, implementar--help,--versiony JSON versionado--ai-docsmetadatos y describir esquemas de entrada/salida y comportamiento de falla. Emitir JSON estructurado compacto con unstatusdetalles de error procesables y de campo en lugar de prosa mezclada con datos. Mantenga la salida limitada, valide las entradas, establezca tiempos de espera de red y haga que la herramienta sea segura para llamar repetidamente. Agregue su nombre de archivo simple a$XDG_CONFIG_HOME/ash/.ash_allow;ashPuede ejecutarlo solo cuando está en la lista permitida y no en la lista.$XDG_CONFIG_HOME/ash/.ash_deny.
¿Cuáles son los scripts de herramientas y los complementos nativos proporcionados?
Los scripts de Python de arranque instalados sonheadlines.py,wikipedia.py, yyfinance.pyen$XDG_DATA_HOME/ash/tools/. Los complementos nativos proporcionados sonwhat_time_is_it(Ir),flip_a_coin(óxido), ycalculator(Mecanografiado) en$XDG_DATA_HOME/ash/plugins/.
Los complementos Rust, incluido flip_a_coin, solo se incluyen en Linux y FreeBSD. Las compilaciones macOS incluyen what_time_is_it y calculator, pero excluyen Rust.
¿Por qué falta el complemento Rust en macOS y cómo puedo instalarlo manualmente?
macOS excluye los complementos Rust, incluido flip_a_coin, para compilar ambas arquitecturas en Linux sin ejecutores macOS y reducir el coste de CI. No es una limitación de compatibilidad. Homebrew conserva los complementos Go y TypeScript; Linux y FreeBSD conservan Rust.
En tu Mac, instala las herramientas de línea de comandos de Xcode (xcode-select --install si es necesario) y Rust mediante rustup. Ejecuta lo siguiente donde quieras crear una copia nueva del repositorio. El Makefile del complemento compila para la arquitectura de tu Mac y lo instala en el directorio del usuario, sin sudo.
git clone https://github.com/Jonconradt/ash.git
cd ash
rustup toolchain install 1.99.0 --profile minimal
plugin_dir="${XDG_DATA_HOME:-$HOME/.local/share}/ash/plugins"
make -C internal/app/ash_bootstrap/plugins_src/flip_a_coin build BUILD_DIR="$plugin_dir"
"$plugin_dir/flip_a_coin" --version
"$plugin_dir/flip_a_coin" --ai-docs
Usa el Makefile del complemento, no make plugins-build, que omite Rust en macOS. Conserva $PLUGINS_DIR_LIST en ${XDG_CONFIG_HOME:-$HOME/.config}/ash/.ash_allow o añade flip_a_coin; no debe aparecer en .ash_deny. Inicia una nueva invocación de ash. Ejecuta "$plugin_dir/flip_a_coin" para probarlo sin proveedor de IA.
Poderashllamar a subagentes?
Sí. Un agente principal puede utilizarrun_sub_agentpara una tarea enfocada e independiente. Un hijo hereda el directorio de trabajo, la configuración, las herramientas y los permisos del sistema operativo, devuelve un resultado limitado y no puede crear otro hijo. El máximo predeterminado es seis subagentes por ejecución principal y se puede cambiar conASH_MAX_AGENTS.
Poderash¿Generar archivos de memoria para realizar un seguimiento de tareas complejas y de lo que ha aprendido en la sesión?
Sí. Puede escribir archivos de espacio de trabajo persistentes en$XDG_CONFIG_HOME/ash(por defecto~/.config/ash), que se rastrean en su inventario de espacio de trabajo, y archivos temporales con ámbito de sesión en$XDG_STATE_HOME/ash/scratch/<session-id>/(base predeterminada~/.local/state/ash). Scratch es opcional: utilícelo para guiones reutilizables, datos intermedios, hallazgos acumulados o artefactos revisables cuando agreguen valor. Sus herramientas sonread_scratch_file,write_scratch_file,append_scratch_file,replace_scratch_file,edit_scratch_file, ylist_scratch_files. ActivoAshy los procesos de intermediario protegen su sesión con un bloqueo del sistema operativo. Los directorios desbloqueados se limpian enAshsalir sólo después de que tengan más de 48 horas y no hayan sido accedidos en 24 horas; Los archivos de bloqueo sobrantes no bloquean la limpieza posterior. Utilice archivos de espacio de trabajo persistentes para la información que desea conservar.
Poderashprogramar el trabajo para más tarde?
Sí, a través de sus herramientas de inteligencia artificial. En macOS, la programación única utiliza un método por usuariolaunchdLaunchAgent y requierelaunchctl. En Linux, las programaciones recurrentes son compatibles a través de su usuariocrontab;ashgestiona sólo sus propias entradas marcadas. El únicolaunchdEl programador no está disponible en Linux, así que use una entrada cron u otro programador de Linux para un trabajo único de Linux. Las ejecuciones programadas reciben un entorno limitado y utilizan HTTPS directo en lugar de un intermediario de shell interactivo, así que asegúrese de que la configuración de IA requerida esté disponible para el trabajo programado. No pueden utilizar herramientas MCP remotas;Ashse ejecuta sin ellos y no avisa en sesiones no interactivas. No programe mensajes que requieran MCP.
Sesiones y almacenamiento
¿Dónde están los archivos de historial o registro deash?
El historial de conversaciones se almacena como JSON en$XDG_STATE_HOME/ash/history/(por defecto~/.local/state/ash/history/). El historial programado y los registros de depuración se almacenan en ese mismo directorio de estado. Puede elegir otra ruta de registro de depuración conASH_LOG_FILE.
¿Cuánto tiempo se conservan los archivos históricos?
ashelimina los archivos JSON del historial de más de 14 días durante la limpieza normal de la aplicación, con un presupuesto de limpieza de 300 ms para que la salida no se retrase. La ventana de mensajes recientes está separada: mantiene hasta 40 mensajes por conversación de forma predeterminada y se puede cambiar conASH_HISTORY_MAX.
¿Cómo borro una conversación o empiezo de nuevo?
El historial está separado por ID de sesión y clave de modelo/punto final de IA. Inicie una nueva sesión de terminal para una nueva ID de sesión o elimine el archivo JSON relevante en$XDG_STATE_HOME/ash/history/(por defecto~/.local/state/ash/history/) cuando intencionalmente deseas descartar ese historial de conversación local. Eliminar un archivo de historial no revoca una clave de proveedor ni elimina datos del lado del proveedor; gestionarlos por separado con el proveedor.
Qué esASH_SESSION_IDy donde se genera?
es elAsh-Identificador de propiedad por sesión que se utiliza para separar el historial, el espacio temporal, los sockets del intermediario y los nombres de los registros programados. El entorno de shell administrado crea uno cuando se inicia el shell y lo conserva cuando se obtienen recursos;Ashcrea uno para invocaciones sin un valor proporcionado por el shell. un genéricoSESSION_IDes ignorado.
¿Puedo proporcionar el mío?ASH_SESSION_ID?
Sí.Ashvalida los ID explícitos y rechaza los valores no válidos en lugar de reemplazarlos silenciosamente. Los ID válidos tienen como máximo 128 caracteres y utilizan letras, dígitos, guiones bajos y guiones, con un sufijo de punto opcional para la sesión secundaria. No utilice valores compartidos o que no sean de confianza: las colisiones combinan el historial de sesiones y el estado de tiempo de ejecución.
Soporte y comunidad
¿Cómo presento un error?
Abrir un problema engithub.com/Jonconradt/ash/issuescon elashversión o confirmación, su sistema operativo y shell, la configuración relevante para el problema con los secretos eliminados, los pasos reproducibles y el resultado observado. Para una vulnerabilidad de seguridad, no abra una edición pública; repórtelo de forma privada por correo electrónico o aviso de seguridad de GitHub.
¿Existe un foro de discusión en elash¿proyecto?
Sí. UsarDiscusiones de GitHubpara preguntas e ideas, yProblemas de GitHubpara errores reproducibles y trabajo rastreado.