Я работаю Debian Хрипящий (32-разрядный) с драйверами NVIDIA. Я также недавно попробовал версию DKMS 320.17, но вернулся 'Чиновнику' сборка NVIDIA (295.59), не потому что ей не удалось установить, но потому что она не включает nvidia-settings
программа и я должны сбросить сверхсканирование на моем телевидении с высокой четкостью (дополнительный монитор).
Однако Вы не должны должны быть связываться /usr/bin/gcc
к gcc-4.6 для выполнения более старой версии. Я просто выполнился CC=gcc-4.6
прежде, чем выполнить 'Официальные' 295,59 установок после того, как я произвел чистку всего материала Nvidia это apt-get
установил.
Хрипящий все еще версия тестирования, таким образом, возможно, что Вы поразили ошибку, которая не была правильно протестирована в 64-разрядной сборке. Как я сказал, мое 32-разрядное обновление не показало проблемы кроме недостающей функциональности. Вы могли бы хотеть посмотреть на вход отчета об ошибках, если Вы уверены, что все в порядке в Вашей системе.
Моя рекомендация состояла бы в том, чтобы вернуться к 295,59 'Официальным' версиям (или использование Вашей ссылки или определение CC для использования правильной версии gcc
) и затем ожидать обновления nvidia-kernel-dkms модуля (или до Хрипящий выпуск как стабильный).
Конечно, если Вы проверите здесь, то Вы будете видеть, что код является Небесплатным так или иначе, таким образом, он, вероятно, использует предварительную версию 'Официального' двоичного файла, который просто добавил бы к возможностям проблем.
Переменное расширение (стандартный термин является расширением параметра, и это также иногда звонило, подстановка переменных) в основном означает заменять переменную ее значением. Более точно это означает заменять $VARIABLE
создайте (или ${VARIABLE}
или ${VARIABLE#TEXT}
или другие конструкции) некоторым другим текстом, который создается из значения переменной. Этот другой текст является расширением переменной.
Процесс расширения идет следующим образом. (Я только обсуждаю общий падеж, некоторые настройки оболочки и расширения изменяют поведение.)
${VARIABLE#TEXT}
, и значение переменной начинается TEXT
, удалить TEXT
с начала значения.IFS
может быть изменен для разделения в символах кроме пробела.) Результатом не является таким образом больше строка, но список строк. Этот список может быть пустым, если значение содержало только пробел.Например, предположите что переменная foo
содержит a* b* c*
и текущий каталог содержит файлы bar
, baz
и paz
. Затем ${foo#??}
расширен следующим образом:
a* b* c*
.#??
средства снимают изоляцию с первых двух символов, приводящих к 6 символьным строкам b* c*
(с начальным пространством).b*
и c*
.b*
, интерпретируемый как шаблон, соответствует двум файлам: bar
и baz
. Строка c*
соответствия никакой файл, таким образом, это оставлено в покое. Результатом является список трех строк: bar
, baz
, c*
.Например, echo ${foo#??}
печать bar baz c*
(команда echo
присоединяется к его спорам с промежуточным пространством).
Для получения дополнительной информации см.:
Я возьму шарик/разделение сначала. ответ @Stephane, с которым Вы связались, использует те термины в общем смысле. Они не фактические команды или что-либо как этот, просто псевдо операции.
split("$test")
разделил бы содержание "$test" в "массив" элементов.
glob(...)
затем заботился бы для расширения любого из этих элементов, которые содержат оболочку globbing символы такой как *
или диапазоны [1-2]
.
Скажите нашу строку $test
следующие.
$ test="afile[1-2] afile[3-5]"
Также скажем, у нас есть каталог с некоторыми файлами в нем.
$ ls -1
afile1
afile2
afile3
afile4
afile5
Теперь, если мы пытаемся повторить его без кавычек, необходимо заметить, что наша строка разбудила разделение на пробелах, и затем любые globbing символы были расширены.
$ echo $test
afile1 afile2 afile3 afile4 afile5
Однако, если мы должны были заключить переменную в кавычки, когда мы передали ее как аргумент echo
мы получили бы исходную литеральную строку.
$ echo "$test"
afile[1-2] afile[3-5]
Расширение переменной термина предназначено для покрытия основной операции, которой оболочка работает как часть, он - основные операции. Оболочка ответственна за парсинг входа и затем выполнение этого входа, после того как это считают синтаксически корректным.
В нашем предыдущем примере. Когда переменная $test
был представлен echo
закрывший кавычки мы говорили оболочке идти вперед и разделять те аргументы и затем шарик их.
Когда это было заключено в кавычки, мы по существу отключали ту опцию с тем, что когда-либо переменная (переменные) мы перенесли с двойными кавычками.
Вот некоторые дополнительные примеры globbing и разделения.
шарик/разделение происходит автоматически
$ echo file{1..3}
file1 file2 file3
$ echo file{1..3} dir{a..b}
file1 file2 file3 dira dirb
$ echo dir{z..w} file{A..D}
dirz diry dirx dirw fileA fileB fileC fileD
$ echo dir{z..w} file{A..B} fileC
dirz diry dirx dirw fileA fileB fileC
шарик/разделение отключен через двойное заключение в кавычки
$ echo "dir{z..w} file{A..B} fileC"
dir{z..w} file{A..B} fileC
$ echo "dir{z..w} file{A..B}"
dir{z..w} file{A..B}
$var
) и другие типы параметров как$1
,$#
,$?
,$-
... $var1 – Stéphane Chazelas 17.12.2014, 13:09