Bonjour,
J'ai une écris une fonction en bash qui affiche les interfaces réseaux de la machine. Si l'interface est up, son nom apparait en vert, sinon en rouge . Ce scipt est appelé par /etc/inittab et remplace donc le classique espace de connexion de la machine.

Quand je teste la fonction via un accès ssh, ça fonctionne. En revanche, si je tente depuis vncviewer :

Les couleurs ne sont pas affichées....
function display_interfaces_config
{
local current_primary=$(get_default_interface_name)
local light_red='\e[91m'
local light_green='\e[92m'
INTERFACES=($(/bin/bash -c "(cd /sys/class/net && \ls)| sed -r '/^(lo|tun)/d'"))
for interface in "${INTERFACES[@]}"
do
interfaces+=("$interface")
interfaces_name+=("[$interface]")
interface_up=$(ip link show "$interface" |grep "UP")
if [ -n "$interface_up" ]
then
interfaces_colour+=("$light_green")
else
interfaces_colour+=("$light_red")
fi
done
}
while (( "$count" < "${#INTERFACES[@]}" ))
do
conf="| ${curPrimaN}${interfaces_colour[$aN]}%${conf2sizeaN}s\e[m | ${curPrimbN}${interfaces_colour[$bN]}%${conf2sizebN}s\e[m|\n"
a="${interfaces_name[$aN]}"
b="${interfaces_name[$bN]}"
printf "$conf" "$a" "$b"
Une idée ?? Merci d'avance :)
A plus tard,
Marsh
NOVEMBER 9, 2013 AT 9:15 PM
Bon, a prioris, cela vient du code couleur utilisé qui n'est pas compatible avec le terminal.
Replyça fonctionne avec :
A plus,