Используя переменную в последовательности команд в ударе для добавления существующей строки - синтаксическая ошибка или испорченный дизайн?

Я имел, это происходит пару раз, из-за проблем времени или сетевых проблем.

Вы упомянули, что смогли добраться до repo через веб-браузер. Возможно, Вы загружали кэшированную версию сайта.

Попробуйте следующее из командной строки:

rcnetwork restart
zypper clean
zypper ref

Можно пройти YaST-> Сетевые устройства-> Параметры сети и отключать IPv6 тот путь (он потребует сброса).

работы метода pbm, но так как Вы уже используете YaST, я просто показываю, как сделать это через GUI\TUI

Только в целях юмора, может Вы отправлять вывод date?

3
23.05.2017, 15:40
1 ответ

Это - не универсальное решение, которое достигает намеченного результата, не исследуя различие между tr и тот в семейной реликвии toolchest или перепроектировании, что я имею в настоящий момент. По сути, это испорчено, но прагматично. Поскольку участник сослался относительно tr, существует ограничение на использование этой команды:

В настоящее время TR полностью поддерживает только однобайтовые символы. В конечном счете это будет поддерживать многобайтовые символы; когда это сделает,-C опция заставит это дополнять набор символов, тогда как-c заставит это дополнять множество значений. Это различие будет иметь значение только, когда некоторые значения не будут символами, и это возможно только в локалях с помощью многобайтовой кодировки, когда вход содержит ошибки кодирования.

Таким образом, символы на на самом деле только 8 битов 1 байт (не Unicode) как те в моем начальном наборе поддерживаются через мою последовательность. У меня также есть ограничение, что я представляю одну экранную ценность символов, и я не хочу больше идеи добавить, что некоторая другая случайность для новых символов была менее привлекательной т.е. как управлять общими записанными символами. Таким образом, я решил отправить, обрабатывают вывод. Объем доступных символов, которые будут использоваться в качестве шаблона, будет меньшим, чем общие 1-байтовые символы, доступные, таким образом, я смогу использовать тех, которых я никогда не намеревался использовать во-первых и повторно иметь целью их как "переменные" как это:

Z1=$(echo -en '\xe2\x97\x98')  \\ Z1 to Z9 will be used to
Z2=$(echo -en '\xe2\x95\x9a')  \\ bring in our non unicode
Z3=$(echo -en '\xe2\x95\x9c')  \\ chars
Z4=$(echo -en '\xe2\x95\x9d')
Z5=$(echo -en '\xe2\x95\x9e')
Z6=$(echo -en '\xe2\x95\x9f')
Z7=$(echo -en '\xe2\x96\x91')
Z8=$(echo -en '\xe2\x96\x92')
Z9=$(echo -en '\xe2\x96\x93')
Z11="$(tr -dc '123456789a' < /dev/urandom | head -c 1)"  \\Z11 to Z13 used to
Z12="$(tr -dc '123456789a' < /dev/urandom | head -c 1)"  \\reintroduce the chars
Z13="$(tr -dc '123456789a' < /dev/urandom | head -c 1)"  \\used as variables

tput setf 6
tput setaf 6

echo -en $(tr -dc '",.o;:~123456789a' < /dev/urandom | head -c $(echo -en "$[$(tput cols) * $(tput lines)]") | sed -e "s/1/$Z1/g" -e "s/2/$Z2/g" -e "s/3/$Z3/g" -e "s/4/$Z4/g" -e "s/5/$Z5/g" -e "s/6/$Z6/g" -e "s/7/$Z7/g" -e "s/8/$Z8/g" -e "s/9/$Z9/g" -e "0,/a/s//$Z11/" -e "0,/a/s//$Z12/" -e "s/a/$Z13/g"); tput cup 1
                   ^set  ^^vars    ^                                                                              "variables" ouput are replaced with intended char>___________________________________________________________________________________________^...then vars themselves reintroduced here as chars, one 'a' at a time(only 3 shown here, last one is global)
                                  |__________________________________________________________________________________|

Обновленная последовательность немного отличается, чем в Q и просто представляется в одной полной победе вместо строки на строку. Это использует sed и его способность принять, что много команд относятся к потоку с -e. Номера 1 - 9 и буква "a" рандомизируются в полностраничный шаблон. Выходной шаблон затем фильтрован с sed и 1 - 9 (если существующий в случайном потоке) все преобразовываются в наше намеченное не unicode символы - только a остается. Те "a" затем обрабатываются и используются для повторного введения символов 1 кому: 9 и a самостоятельно в шаблоне с помощью переменных Z11 для Z13 (случайный генератор с головой 1 байт, который использует 1-9 и как набор теперь, когда нам больше не нужны они). Каждый экземпляр a мог быть индивидуально рандомизирован (см. образец шаблона ниже), или оставленный, как (другой символ, чем банка быть выбранным, конечно, та, которую мы могли бы любить видеть в заключительном шаблоне). Это подтверждение концепции является неполным, поскольку необходимо было бы в конечном счете прервать весь a символы в этом примере и преобразовывают их во что-то действительно случайное. Но это работает. Это должно только показать эти символы (и я выбрал бы в символах практики, которые я не хочу использовать в шаблоне, таким образом, не было бы никакой потребности повторно ввести их как это во-первых), может быть повторно введен. tr препятствия "избежали".

enter image description here

Мы видим то, что произошло с a's - первый был преобразован в 8 и второй к 1, тогда как остальные были преобразованы в 4 с (sed глобальный). 1,4 и 8 были все символы, используемые для введения наших специальных символов, и теперь они могут использоваться слишком в случае необходимости. Несомненно изящное решение существует, но это не один из тех. Это все сгенерировано в мигании глаза.

Вот упрощенная версия, отформатированная как сценарий, который использует цифры 1-9 для нашего шаблона, не 'искупая' их, любят объясненный выше:

#!/bin/bash

## spptr_dfp.sh - Display a chosen pattern of chars using tr, while using sed "post processors" to deal with
## multibyte chars that tr can't stomach. Rely on single chars not used for the pattern to bring in the
## multibyte ones later on in the pipeline.

## Z1 to Z9 will be used as primitives variables
## to bring in our non unicode chars
Z1=$(echo -en '\xe2\x97\x98')
Z2=$(echo -en '\xe2\x95\x9a')
Z3=$(echo -en '\xe2\x95\x9c')  
Z4=$(echo -en '\xe2\x95\x9d')
Z5=$(echo -en '\xe2\x95\x9e')
Z6=$(echo -en '\xe2\x95\x9f')
Z7=$(echo -en '\xe2\x96\x91')
Z8=$(echo -en '\xe2\x96\x92')
Z9=$(echo -en '\xe2\x96\x93')

## the color we want
tput setf 6
tput setaf 6

## the main event, generated for cols*lines
## the pattern is made out of ",.o;:~
## the single chars used as vars are 123456789
## after tr outputs, sed converts any of the single chars to our multibyte chars
echo -en $(tr -dc '",.o;:~123456789' < /dev/urandom | head -c $(echo -en "$[$(tput cols) * $(tput lines)]") | sed -e "s/1/$Z1/g" -e "s/2/$Z2/g" -e "s/3/$Z3/g" -e "s/4/$Z4/g" -e "s/5/$Z5/g" -e "s/6/$Z6/g" -e "s/7/$Z7/g" -e "s/8/$Z8/g" -e "s/9/$Z9/g")

tput cup 1

exit
0
27.01.2020, 21:44

Теги

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