unix - tiene - shell programacion
Cargando zsh como shell predeterminado en la pantalla gnu (3)
Primero ubica dónde está zsh así:
$ whereis zsh
Segundo cambio de shell para el usuario actual:
$ chsh -s /path/to/zsh joel
Y zsh será el shell predeterminado para el usuario joel después de volver a iniciar sesión.
Estoy usando KUbuntu 10.04 (Lucid Lynx). He instalado zsh y pantalla. He establecido zsh como el shell predeterminado, configurando Comando en zsh en Configuración-> Editar perfil actual del terminal. Pero, cuando lanzo la pantalla, se carga el shell bash. Si ejecuto el comando zsh, entonces se inicia zsh pero se muestra el siguiente mensaje:
"/home/joel/.zshrc:36: Can''t add module parameter `mapfile'': parameter already exists"
Además, se invoca zsh solo para la instancia de pantalla actual y tengo que invocarla manualmente de nuevo para otras instancias. Entonces, ¿hay alguna forma de hacer que la pantalla cargue zsh de forma predeterminada e invocarla automáticamente para cada instancia?
Gracias
Si desea que sea el shell predeterminado solo para sesiones de pantalla, simplemente puede agregar esta línea a su archivo ~/.screenrc
.
shell "/usr/bin/zsh"
Tuve un problema similar a ti, excepto que en mi caso cambié los usos de shell vim, especificando set shell=zsh/ --login
en .vimrc. Cada vez que caía en una cáscara a través de: sh zsh lloriquearía con el mismo error:
Can''t add module parameter `mapfile'': parameter already exists
Pregunté en #vim y #zsh en freenode. Resulta que si ejecuta zsh
nuevamente dentro de una sesión zsh, verá el mismo error, y la solución sugerida es simplemente agregar &>/dev/null
a su archivo .zshrc así:
zmodload -ap zsh/mapfile mapfile &>/dev/null
El módulo zsh mapfile crea una pseudo-variable que asigna nombres de archivos a su contenido, y solo es necesario si tiene scripts que realmente usan $ mapfile.
Parece ser opcional, pero se señaló que el parámetro de carga automática está ahí, por lo que solo se carga cuando es necesario, por lo que no debería haber ningún daño al mantener las quejas de la línea y la tubería a / dev / null