О Ваших требованиях Iceweasel является поддерживаемой производной Firefox (ветвление), я в настоящее время выполняю debian как свою настольную ОС на работе и использовании iceweasel каждый день, без проблем. Gnome3, я думаю, что это будет доступно на следующей стабильной версии, BTW, какой выпуск Вы выполняете? Сжать? Раз так я думаю (IIRC) Хрипящий, будет иметь его. И наконец, о производительности при обработке графики / качество, которое во многом зависит от Вашей видеокарты и ее драйвера, но если Вы думаете о нем как наличие диапозитивов, окон, соглашающихся с необычными эффектами и так далее, Вам будут нужны современный рабочий стол или compiz (работа с gnome2), который я думаю его доступное на стабильном (хрип).
Я изменил немного Вашего sources.list для хрипа, Вы возражаете, чтобы протестировать его и сообщить?
deb http://http.us.debian.org/debian/ squeeze contrib non-free main
deb-src http://http.us.debian.org/debian/ squeeze main
deb http://security.debian.org/ squeeze/updates main non-free contrib
deb-src http://http.us.debian.org/debian/ squeeze/updates main
# squeeze-updates, previously known as 'volatile'
deb http://mirror.cse.iitk.ac.in/debian/ squeeze-updates main non-free contrib
deb-src http://mirror.cse.iitk.ac.in/debian/ squeeze-updates main non-free contrib
# 3rd party repositories
deb http://packages.dotdeb.org squeeze all
deb-src http://packages.dotdeb.org squeeze all
deb http://www.deb-multimedia.org squeeze main non-free
Если Вы, оказывается, используете хрипящий или sid, необходимо будет измениться, все сжимают случаи для того, который Вы используете.
Скопируйте свой sources.list прежде, чем заменить его, затем протестируйте его следующим образом:
Refresh caches
# apt-get update
Search package
# apt-cache vlc
Install package
# apt-get install <package_name>
Если находят проблему, сообщите с выводом для тех трех команд, или по крайней мере для первого и последнего.
Кроме того, если Вы уже используете Хрипящий или sid, забываете то, что я сказал о Gnome3, не являющемся доступным, это должно быть там, но хрипящий должен все же быть выпуск, и sid всегда является ответвлением разработки.
, где [116199]-ge[116200] означает greater-or-equal-to (и так далее). Команда [116201]-a[116202] является логическим "и". Команда [116203][[116204] - это просто команда, а не специальный синтаксис (на самом деле это то же самое, что и [116205]-тест[116206]: проверьте [116207]-мужской тест[116208]), поэтому пробел за ней НЕ ОТМЕНЯЕТСЯ. Если вы напишете [116209][$REPLY[116210], он попытается найти команду с именем [116211][$REPLY[116212] и выполнить ее, что не сработает. То же самое можно сказать и о закрытии [116213]][116214].
Правка: чтобы проверить, целое ли число (если это может произойти в вашем коде), сначала выполните тест
Конечно, все эти выражения в скобках возвращают 0 (истина) или 1 (ложь) и могут быть объединены. Можно не только заключить все в одну скобку, но и сделать
или что-то подобное.[115868].
Цитата из [116215] руководства[116216]:
((...))
(( выражение))
#!/bin/bash
SSH_ORIGINAL_COMMAND=${SSH_ORIGINAL_COMMAND/#git /git-}
case $SSH_ORIGINAL_COMMAND in
"git-receive-pack"*|"git-upload-pack"*|"git-upload-archive"*)
eval exec $SSH_ORIGINAL_COMMAND
;;
*)
echo "Go away." >&2
exit 1
;;
esac
Арифметическое выражение оценивается в соответствии с правилами, описанными ниже (см. [116367]Арифметика оболочки [116368]). Если значение выражения
ненулевое значение, состояние возврата - 0; в противном случае состояние возврата - 1.
Это в точности эквивалентно
gedit $(find -name show.html.erb)
пусть "выражение".
Сначала проверьте, является ли вводимая информация числовой. Например, используя оператор совпадения регулярного выражения bash условных выражений:
if [[ $REPLY =~ -?[0-9]+ ]]; then
echo "Invalid input (not numeric): $REPLY"
exit 2
fi
Для проверки числовых диапазонов у вас есть две возможности:
-gt
из условных выражений внутри [ ... ]
или [[ ... ]]
(учтите, что операторы <
и >
выполняют сравнение строк, а не сравнение числовых значений, поэтому [[ 10 < 9 ]]
верен); ((...))
. Таким образом:
if ((REPLY >= -2 && REPLY <= 10)); then
: # do nothing -- pass directly to libvorbis
elif ((REPLY <= 24)); then
echo "Value outside supported range: $REPLY"
exit 2
elif ((REPLY <= 135)); then
REPLY=$(((REPLY+8) / 16 - 4))
elif ((REPLY <= 271)); then
REPLY=$(((REPLY+16) / 32))
elif ((REPLY <= 400)); then
REPLY=9
elif ((REPLY <= 707)); then
REPLY=10
else
echo "Value outside supported range: $REPLY"
exit 2
fi
(Вы можете использовать другие правила аппроксимации, я не знаю, являются ли выбранные мной правила лучшими в данном случае)
.Чтобы правильно определить, является ли строка (десятичным )числом, нам сначала нужно определить, что такое десятичное целое число. Простое и в то же время достаточно полное определение:
A sequence of an optional sign (+ or -) followed by no more than 18 (significant) decimal digits.
И эти шаги необходимы:
Всего одно регулярное выражение сделает большую часть этого:
re='^([+-])?0*([0-9]{1,18})$'
[[ $number =~ $re ]] && integer=${BASH_REMATCH[*]:1}
Код для обработки нескольких чисел:
#!/bin/bash
DebugLevel=4 # 1:fatal 2:error 3:warn 4:info 5:debug 6:trace
SayMsg (){ local a; a=$1; shift ; # Log level
[[ $a -le $DebugLevel ]] && printf '%s' "$@" $'\n' >&2 ;
}
SayError (){ a=$1; shift; printf '%s' "$@" $'\n' >&2; exit "$a"; }
parseint (){ local re # Parse the first argument as an integer or fail
re='^([+-])?0*([0-9]{1,18})$'
[[ $1 =~ $re ]] || { SayMsg 4 "Invalid number $1"; return 2; }
integer=${BASH_REMATCH[1]}${BASH_REMATCH[2]}
echo "integer=$integer"
}
while read val; do
parseint "$val"
done <<-\_EOT_
0
1
10
100
2345
123456789012345678
923456789012345678
999999999999999999
0000000012345
+023
-00045
-76
""
''
a
abc
1234567890123456789
7.23
-8.17
1e3
10+11
_EOT_
Что напечатает:
integer=0
integer=1
integer=10
integer=100
integer=2345
integer=123456789012345678
integer=923456789012345678
integer=999999999999999999
integer=12345
integer=+23
integer=-45
integer=-76
Invalid number ""
Invalid number ''
Invalid number
Invalid number a
Invalid number abc
Invalid number 1234567890123456789
Invalid number 7.23
Invalid number -8.17
Invalid number 1e3
Invalid number 10+11
После того, как число станет чистым и ясным, единственным отсутствующим тестом будет ограничение диапазона значений. Эта простая пара строк сделает это:
(( 1 <= integer && integer <= 32 )) && REPLY="-2"
(( 33 <= integer && integer <= 48 )) && REPLY="-1"