Недавно я добавил следующее определение функции bash в мой / etc / profile в Ubuntu 11.04 (это функция для быстрого вызова команды CD в определенную директорию разработки):
################## JMOZTELEPORT BEGIN ##################
function JMozTeleport() {
version=0.4.58
pathtopythonpackages=`python -c "from site import getsitepackages; print getsitepackages()[0]"`
pathtopythonteleport="$pathtopythonpackages/JMozTools-$version-py2.7.egg/JMozTools/JMozTeleport.py"
# $1 is the command to run
isversion=0
ishelp=0
if [[ "$1" == "-v" || "$1" == "--version" ]]
then
isversion=1;
fi
if [[ "$1" == "-h" || "$1" == "--help" ]]
then
ishelp=1;
fi
if [ -z $1 ]
then
python "$pathtopythonteleport" "-h"
elif [ $1 == "version" ]
then
echo $version
elif [ $isversion == 1 -o $ishelp == 1 ]
then
python "$pathtopythonteleport" "$@"
else
cd $(python "$pathtopythonteleport" "$@")
fi
}
################### JMOZTELEPORT END ###################
Однако, как только я это сделаю (что работает нормально, если я использую / etc / profile из оболочки терминала), я не могу войти в Gnome. Он входит в систему нормально, но затем он сразу же закрывает Gnome и возвращает меня к экрану входа. Если я удалю этот материал из моего / etc / профиля, он снова позволит мне войти в систему нормально.
Я не понимаю, что заставляет гном перезапускаться. Есть идеи, где проблема?