https://magicant.github.io/yash/ Este readMe también está disponible en 日本語.
Yash, otro shell, es un shell de línea de comandos compatible con Posix escrito en C99 (ISO/IEC 9899: 1999). Yash está destinado a ser el caparazón más compatible con POSIX del mundo, al tiempo que respalda las características para el uso interactivo y de secuencias de comandos diarios. Las características notables son:
Yash se puede modificar/redistribuir bajo los términos de la Licencia Pública General de GNU (Versión 2), pero el uso de este programa no tiene ninguna garantía. Vea el archivo de copia para el texto completo de GPL.
Yash se mantiene en Github, pero anteriormente estaba en OSDN.
Yash ahora es compatible con POSIX.1-2008 (IEEE STD 1003.1, edición 2016), excepto por las limitaciones que se enumeran a continuación.
Yash es estable. Se lanza una actualización de mantenimiento cada tres meses más o menos. Para el historial de cambios, vea el archivo de noticias.
Se supone que Yash debe construir y ejecutar en cualquier entorno POSIX.1-2001 con las utilidades de desarrollo de software y las opciones de utilidades de desarrollo del idioma C.
Actualmente, Yash se prueba principalmente en Fedora, MacOS y Cygwin.
Vea el archivo de instalación para ver cómo construir e instalar Yash.
Después de la instalación, el manual se puede ver por
$ man yash
El manual también está disponible en línea en https://magicant.github.io/yash/doc/.
A continuación se muestra una descripción de la configuración básica que puede ver después de la instalación para comenzar con Yash. Para obtener detalles de configuración, consulte el manual.
Cuando Yash se inicia como un shell de inicio de sesión, se lee $XDG_CONFIG_HOME/yash/profile o ~/.yash_profile como un respaldo. Este archivo es un script de shell en el que define variables de entorno utilizando el comando de exportación.
Cuando Yash se inicia para un uso interactivo, lee $XDG_CONFIG_HOME/yash/rc o ~/.yashrc (después de leer $XDG_CONFIG_HOME/yash/profile si también es un shell de inicio de sesión). En este archivo, realiza otras configuraciones como alias, cadenas de inmediato, enlaces de clave para la edición de la línea de comandos y el controlador de comandos no fundamental. Use el archivo compartido/inicialización/muestra como plantilla para su $XDG_CONFIG_HOME/yash/rc .
En muchos sistemas operativos similares a unix, se debe listar un carcasa en /etc/shells para establecerse como un caparazón de inicio de sesión. Edite este archivo y asegúrese de que la ruta a Yash esté escrita en el archivo.
Luego, ejecute el comando chsh en el terminal y siga las instrucciones desde el comando. Dependiendo de su sistema, es posible que deba usar otro comando para cambiar el shell de inicio de sesión. Vea la documentación en su sistema.
__attribute__ se utiliza en el código fuente. Cuando no se compila con GCC o Clang, el preprocesador elimina esta palabra clave, por lo que generalmente no hay daño. Pero si su compilador usa esta palabra clave para cualquier otro propósito, la compilación puede fallar. Además, algunos otros identificadores que comienzan con _ pueden causar errores de compilación en algunos entornos raros. 0400=user read 0200=user write 0100=user execute
0040=group read 0020=group write 0010=group execute
0004=other read 0002=other write 0001=other execute
-o nolog no es compatible: se ignora silenciosamente.PS1 variable está sujeto a la expansión de los parámetros. Yash realiza la sustitución de comandos y la expansión aritmética también en el valor de PS1 .printf %c foo debe imprimir el primer byte de string foo . Yash imprime el primer personaje de foo , que puede ser más de un byte.return incorporado, si se ejecuta en una trampa, solo puede funcionar en una función, script o bucle que se ha ejecutado dentro de la trampa. Esta limitación no es estrictamente compatible con POSIX, pero es necesaria para un comportamiento consistente y predecible del caparazón.$LINENO ) no se puede contar correctamente en y después de una expansión compleja que contiene una continuación de la línea.HAVE_WCSNRTOMBS en el archivo de encabezado config.h . Los comentarios, las sugerencias y los informes de errores son bienvenidos en:
Si está interesado en la traducción, consulte Traducir.md.
Watanabe, yuki [email protected]