change - grep pierde color cuando se ejecuta desde el script de bash
grep color text (2)
Cuando ejecutas un script, se genera un nuevo shell para hacerlo. Este nuevo entorno no tiene la misma configuración que tu shell predeterminado. En cuanto a cómo recuperar el color, no estoy seguro. Puede intentar obtener su perfil al inicio del script:
#!/bin/bash
source $HOME/.bash_profile
o cualquier archivo que tenga sentido en su sabor particular de Unix (.profile, .bash_rc, .bashrc .bash_profile) para nombrar algunos.
Escribí un script bash simple porque estaba usando un comando grep con los mismos argumentos, repetidamente. Lo estoy ejecutando desde ~ / bin y funciona bien.
Mi problema es : toda la coloración se ha ido cuando se ejecuta a través de mi script de bash. El mismo comando exacto que se coloca directamente en la línea de comando codifica con color los números de línea, los nombres de archivo, etc.
Aquí está mi guión de bash
#!/bin/bash
# grep php files inside of myfolder, recursively and with line numbers
grep -rn --include="*.php" "$2" /home/me/myfolder/$1
Probablemente hayas definido grep
como un alias para grep --color=auto
en tu .bashrc
, pero eso no está cargado por scripts. Use un grep --color
explícito grep --color
en su script.