Я не могу установить определенную версию udhcpd

Глобализация происходит только в контекстах списка, поэтому вам нужно будет присвоить переменную array . С ksh93 , bash , zsh , mksh или yash :

the_files=(~/downloads/stack-*-linux-x86_64-static.tar.gz)

Или в sh :

set -- ~/downloads/stack-*-linux-x86_64-static.tar.gz

для назначения $ 1 , $ 2 ...

И для получения первого элемента: «$ {the_files [1]}» в zsh или yash (или просто $ the_files [1] в zsh ) или "$ {the_files [0]} " в ksh или bash .

Для всех элементов: "$ {the_files [@]}" (также $ the_files в zsh ).

Для объединения элементов, соединенных первым символом $ IFS : «$ {the_files [*]}» (также «$ the_files» ] на zsh ). Или соединяется с любой строкой в ​​ zsh : $ {(j :,:) the_files} (здесь соединяется с , ).

Еще несколько примечаний

Присваивание скалярным переменным

the_file=~/downloads/stack-*-linux-x86_64-static.tar.gz

~ будет расширен, но не глобус.Однако, если вы забыли использовать кавычки при раскрытии переменной, например:

printf '%s\n' $the_file # instead of printf '%s\n' "$the_file"

, тогда содержимое $ the_file будет подвергаться split + glob и расширено в этой точке , что может заставить вас думать, что это работает, хотя на самом деле это не так, и здесь в сочетании с расширением тильды это может даже стать более беспорядочным.

Например, если ваш $ HOME равен / All * Users / me , а для $ IFS установлено значение по умолчанию, тогда $ the_file будет содержать / All * Users / me / downloads / stack - * - linux-x86_64-static.tar.gz и printf напечатает / All ], за которым следуют имена всех файлов в текущем каталоге (расширение * ), за которым следует расширение Users / me / downloads / stack - * - linux-x86_64-static.tar. gz .

Что делать, если шаблон не соответствует ни одному файлу

В zsh вы получите сообщение об ошибке, но в других оболочках шаблон остается нетронутым. Лучше всего, если бы шаблон вообще не расширялся до нуля.

С zsh , это с квалификатором glob N :

the_files=(~/downloads/stack-*-linux-x86_64-static.tar.gz(N))

ksh93 имеет аналогичную функцию с его оператором ~ (N) glob :

the_files=(~/downloads/~(N)stack-*-linux-x86_64-static.tar.gz)

Для других оболочек вам нужно включить некоторые глобальные параметры ( shopt -s nullglob в bash , установить -o nullglob в Яш ).

2
30.01.2017, 20:33
1 ответ

Команда должна быть такой:

sudo apt-get install udhcpd=1:1.22.0-9+deb8u1

Ошибка - v на udhcpd = 1: 1.22 .0-9 + de v 8u1

0
27.01.2020, 22:42

Теги

Похожие вопросы