Как удалить ключи SSH

Единственный способ сделать так, чтобы раскрытие переменной исчезло, — это раскрыть раскрытие до пустого значения, когда это раскрытие не заключено в кавычки.

$ unset a; b=''; c=set
$ printf '<%s> ' unquoted $a $b quoted "$a" "$b" val $c "$c"; echo
<unquoted> <quoted> <> <> <val> <s> <t> <set>

Как неустановленные, так и пустые значения переменных(aиb)исчезают (в качестве аргументов ), если они не заключены в кавычки. Оба сохраняются при цитировании.

Кроме того, даже пробелы (или любой символ )исчезнут, если они включены в IFS.

$ IFS=' '
$ unset a; b=' '; c='  set  '
$ printf '<%s> ' unquoted $a $b quoted "$a" "$b" val $c "$c"; echo
<unquoted> <quoted> <> < > <val> <set> <  set  >

Фактически, IFS, содержащая символы в значении для расширения (без кавычек ), будет разделять аргументы.

$ IFS='e '
$ $ printf '<%s> ' unquoted $a $b quoted "$a" "$b" val $c "$c"; echo
<unquoted> <quoted> <> < > <val> <s> <t> <  set  >

Обратите внимание на два аргумента <s>и <t>, возникшие в результате раскрытия значения set, когда IFS содержало e.

Итак, нам нужно раскрытие неуказанных или пустых значений без кавычек, которое становится раскрытием значения в кавычках, когда есть значение для раскрытия:

${var:+"$var"}

Описание:

${             # starts an un-quoted variable expansion
  var          # name of variable to expand
     :         # also replace if var is null
      +        # use what follows if is not unset (nor null)
       "$var"  # a quoted variable expansion.
             } # end of expansion.

# In short: expand "$var" if it has a value, $var otherwise.

Затем мы можем использовать значение $1, чтобы либо убрать его, либо расширить

echo ${1:+"--noise"} ${1:+"$1"}

В приведенной выше строке будет либо напечатано два отдельных аргумента (, не затронутых IFS ), если $1имеет некоторое (ненулевое )значение, либо ничего, если $1пустой или не установлен.

Скрипт станет:

#!/bin/sh
echo "Noise $1"
echo "Enhancement $2"

for    snr in 0 5 10 15 20 25
do     python evaluate.py \
         ${1:+"--noise"} ${1:+"$1"} \
         --snr "$snr" \
         --iterations 1250 \
         ${2:+"--enhancement"} ${2:+"$2"}
done

На это решение не влияет значение IFS

0
21.09.2020, 15:01
2 ответа

Насколько мне известно, программа установки Windows не может напрямую считывать свои файлы из файла ISO. Вы должны извлечь файлы в файловую систему на диске. Я рекомендую rufus сделать это.

Этот вопрос относится к этой статье для решения только для Linux -, но я не пробовал его с последними версиями Windows.

0
18.03.2021, 23:03

Мне удалось установить Windows 10, и она работает. У меня есть две копии iso-содержимого Windows, помещенные в разделы NTFS A и B, следуйте инструкциям NorbiPeti, выберите /efi/boot/bootx64.efi в B в качестве цепного загрузчика, загрузитесь с помощью установщика Windows, не пытайтесь установить сейчас, переключитесь на командной строке и запустите setup.exe из A :\source.

0
18.03.2021, 23:03

Теги

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