`эчо $?`
- извилистый способ написания $?`
. Не делайте вещей сложным способом, когда есть очевидный более простой способ.
Я думаю, вы хотите проверить, является ли $?
одним из значений 0, 1, 2, 3 или 4. Синтаксис, который вы используете, не имеет смысла. Вы можете проверить все пять случаев равенства:
if [[ $? -eq 0 || $? -eq 1 || $? -eq 2 || $? -eq 3 || $? -eq 4 ]]; then …
Но это слишком многословно. Так как вы хотите разрешить диапазон 0-4, то проверьте, что $?
больше минимального значения и меньше максимального.
if [[ $? -ge 0 && $? -le 4 ]]; then …
$?
никогда не бывает отрицательным, так что тест $? -ге 0
лишний. Таким образом:
if [[ $? -le 4 ]]; then …
Это также можно записать, используя арифметическое выражение. Обратите внимание, что оператор отличается: условные конструкции в скобках используют -eq
, -ne
, -le
, -ge
, -lt
и -gt
для сравнения целых чисел, в то время как арифметические выражения имеют синтаксис, подобный Си.
if (($? <= 4)); then …
Я использую Debian Rheezy 7,8 с Gnome 3.4.2. После установки Debian и на первом входе пользователя я мог бы выбрать Gnome Classic вместо системного входа по умолчанию. После этого выбора и без какой-либо конфигурации я использую классику GNOME исключительно.
update-alternatives --install /etc/alternatives/x-session-manager \
gnome-session-classic /usr/bin/gnome-session-classic 99
Должен сделать свое дело.