Распаковать несколько файлов из.tar.gz в несколько разных каталогов

Либо используйте вкладки и<<-EOF(с дефисом ), либо используйте фильтр вместо кота, например.sed:

$ sed -e "s/^\s*//" <<EOF
 as
  df
   gh
    jk
        op    # two tabs
EOF

При этом удаляются как пробелы, так и табуляции. Обратите внимание, что закрытие EOFне может иметь отступ. Вы можете использовать <<" EOF", а затем снова " EOF"с тем же количеством пробелов, что и конечный токен, но кавычки блокируют расширения в документе здесь -, что вам не нужно в данном случае. Сравните:

$ a=x
$ cat <<EOF
"$a"
EOF
"x"
$ cat <<"EOF"
"$a"
EOF
"$a"

Что касается echo, то у него с этим проблемы. Но вы можете использовать printfтакже:

printf "%s\n" \
  "[influxdb]" \
  "name = InfluxDB Repository - RHEL \$releasever" \
  "baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable" \
  "enabled = 1" \
  "gpgcheck = 1" \
  "gpgkey = https://repos.influxdata.com/influxdb.key" \
| sudo tee /etc/yum.repos.d/influxdb.repo

Я оставил тире в \$, как и в вашем вопросе, но они могут быть здесь неправильными, так как они избегают расширений.

0
15.09.2021, 15:01
0 ответов

Теги

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