tesis software sistemas resumen que proyecto operativos online libro libres libre libertades las ejemplos cuatro articulos macos terminal osx-lion

macos - sistemas - software libre online



Apilamiento de texto del terminal OS X encima de sí mismo (5)

Con la guía de hamstergene , pude descifrar cómo hacer que funcionara bien. Usando esta guía Geek Stuff y este tutorial de It''s Me Tommy , pude definir cómo quería que se mostrara mi texto de PS1. Cambiar esto a algo mucho más simplificado eliminó el extraño problema de texto superpuesto con el que me estaba encontrando.

Antes de:

Después:

Simplemente .bash_profile mi .bash_profile y agregué la siguiente línea:

export PS1="[/u@/h] > ";

Luego fui y cambié los colores de la ventana para una buena medida porque puedo.

Me encuentro con un problema extraño en la aplicación Terminal en Mac OS X Lion. Cuando ingreso una larga línea de texto que debe pasar a la siguiente línea cuando llega al borde de la ventana del Terminal, continúa escribiendo en la parte superior del texto de la línea que está encima.

Aquí hay algunas capturas de pantalla para ayudar a ilustrar el problema:

Antes de que mi texto llegue al borde de la ventana:

Después de que el texto llegue al borde de la ventana:

También proporcioné capturas de pantalla de mis ajustes de texto y ventana en caso de que pudieran ser útiles.

Configuraciones de texto:

Configuración de ventana:

Gracias de antemano por cualquier ayuda ofrecida. Tuve este problema por un tiempo y nunca lo logré. Ahora me estoy volviendo loco cuando me meto en cosas que requieren grandes comandos grep y largos nombres de ruta.


El problema original era que había una nueva línea en la PS1 (FYI para cualquiera que se encuentre con esto)

Típicamente es un código de color escapado incorrectamente, pero si no es así es que tienes una nueva línea en tu ps1


Solía ​​tener el mismo problema debido al uso incorrecto de códigos de color. Aquí está mi PS1 que resolvió el problema. Además, si usa GIT, esto también será útil para mostrar la rama de git en la que está trabajando y si su árbol de trabajo está sucio o no. Pon esto en tu .profile o .bash_profile

# Git branch in prompt. parse_git_branch() { git branch 2> /dev/null | sed -e ''/^[^*]/d'' -e ''s/* /(.*/)/ (/1)/'' } parse_git_dirty() { st=$(git status 2>/dev/null | tail -n 1) if [[ $st == "" ]]; then echo '''' elif [[ $st == "nothing to commit (working directory clean)" ]]; then echo '''' elif [[ $st == ''nothing added to commit but untracked files present (use "git add" to track)'' ]]; then echo ''?'' else echo ''*'' fi } # coloring the terminal comman line SB_GREEN="/[/033[1;32m/]" SB_BLUE="/[/033[1;34m/]" SB_RED="/[/033[1;31m/]" SB_NOCOLOR="/[/033[0m/]" export PS1="$SB_GREEN/u@/h$SB_NOCOLOR: $SB_BLUE/w$SB_GREEN/$(parse_git_branch)$SB_RED/$(parse_git_dirty)$SB_NOCOLOR $ "

Espero que esto ayude.



PS1 variable de entorno PS1 determina cómo se verá el mensaje de shell. man bash da documentación completa sobre él. (En realidad, hay varios de ellos, para diferentes modos).

Hay varios archivos que pueden estar configurándolo, generalmente uno de ~/.profile , ~/.bashrc , /etc/profile o /etc/bashrc .

Si va a tener códigos de color u otras secuencias de control dentro de él, debe envolverlos con /[ y /] correctamente (y NO ajustar el texto normal), de lo contrario la edición de la línea podría estropearse como en su caso. Sugiero restablecer PS1 al valor predeterminado y luego agregar cuidadosamente colorear de nuevo elemento por elemento.

Por ejemplo:

PS1=''/[/033[1m/033[32m/]/u@/h /w/[/033[0m/]/$ '' ^^^^^^^^^^^^^^^ ^^^^^^^

Los comandos para colorear están subrayados. Observe cómo están rodeados con /[ /] .