(Shell Script) Переменная не передается правильно при извлечении значения из файла?

В строке поиска отображается тип. В зависимости от вашей версии gnome 3, он либо покажет два дисплея, которые вы можете перетащить по своему усмотрению, либо у него может быть кнопка с надписью "Расположить комбинированные дисплеи".

enter image description here

Иногда на картах nvidia меню дисплея ничего не делает. Раньше я знал, что нужно искать nvidia и должно быть приложение под названием nvidia x server, а вторая запись в меню должна быть для настройки дисплея. Вы можете использовать это, чтобы перетащить мониторы.

enter image description here

Просто перетащите мониторы так, чтобы они были сложены, а не горизонтальные.

.
1
05.11.2015, 11:40
2 ответа

Похоже, проблема вызвана новой строкой или возвратом каретки и новой строкой в ​​$ authKey, как указано в FireEye AX.

Вы можете удалить возврат каретки и перевод строки через tr -d '\ r \ n'

например

# Get authentication key from FireEye AX response
while read line
do
    if [[ $line =~ ^SOME-PATTERN:[[:space:]](.*) ]]
    then
        authKey="${BASH_REMATCH[1]}"
        authKey=$(printf "%s" "$authKey" | tr -d '\r\n')
    fi
done <auth.txt

Я не могу вспомнить, будет ли $ BASH_REMATCH передан подоболочке ... вместо этого вы можете попробовать это в одной строке, возможно, это сработает:

authKey=$(printf "%s" "${BASH_REMATCH[1]}" | tr -d '\r\n')
1
27.01.2020, 23:36

Я предполагаю, что в предоставленном вам файле данных есть окончания строк в стиле Windows (CR / LF), а не окончания строк в Unix / Linux (LF ).

Это альтернативное сопоставление с образцом исключает любой возможный завершающий CR:

[[ $line =~ ^SOME-PATTERN:[[:space:]](([^\015]*) ]]
authKey="${BASH_REMATCH[1]}"
1
27.01.2020, 23:36

Теги

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