LINUX.ORG.RU

Заменить curl в sh на локальный файл

 


0

1

Здраствуйте. Подскажите как поменять строку в sh файле, чтобы ссылаться не на скачиваемый файл, а на этот же файл находящийся локально.

curl -s http://download.r7-office.ru/repo/gpgkey/r7-office.gpg.key | gpg –no-default-keyring –keyring gnupg-ring:/usr/share/keyrings/r7-office.gpg –import

И вот начало: curl -s http://download.r7-office.ru/repo/gpgkey/r7-office.gpg.key

сменить на: /home/User/R7/r7-office.gpg.key

Ответ на: комментарий от anonymous

в том что если просто заменить, то при выполнении основного sh, в котором этот код, содержимое файла gpg.key, а именно каждая его строка воспринимается как команда. Т.е. 52 строки ключа выводятся на экран с результатом - нет такого файла или команды.

ALARMus
() автор топика
Ответ на: комментарий от pfg

а то вон YandexGPT предложил вообще переписать так

gpg –no-default-keyring –keyring gnupg-ring:/usr/share/keyrings/r7-office.gpg –import /home/User/R7/r7-office.gpg

правда куда-то задевал изначальный файл r7-office.gpg.key

ALARMus
() автор топика
Ответ на: комментарий от ALARMus

верь ИИ и это приведет тебя к щастью :)
ты просил заменить качание из тырнета на чтение файла с диска - собственно «каков вопрос таков ответ».

pfg ★★★★★
()
Ответ на: комментарий от ALARMus

Правильный способ:

gpg --no-default-keyring --keyring gnupg-ring:/usr/share/keyrings/
r7-office.gpg --import < /home/User/R7/r7-office.gpg.key

Но с cat работает так же, но это называется «Useless use of cat». С curl file:// тоже будет работать, но это какое-то вырезание гланд ректально.

CrX ★★★
()
Последнее исправление: CrX (всего исправлений: 4)
Ответ на: комментарий от CrX

Спасибо. А такую строку:

curl -s http://download.r7-office.ru/repos/RPM-GPG-KEY-R7-OFFICE.public | sudo gpg –no-default-keyring –keyring gnupg-ring:/etc/apt/trusted.gpg.d/r7.gpg –import && sudo chmod 644 /etc/apt/trusted.gpg.d/r7.gpg

как поменять, файл в той же папке скачен расположен локально /home/User/R7/RPM-GPG-KEY-R7-OFFICE.public

ALARMus
() автор топика
Ответ на: комментарий от ALARMus

без разницы.
в обоих случаях читается файл с компутера. просто курл это делается через URI путь.

подсунуть курлу file:////home/User/R7/RPM-GPG-KEY-R7-OFFICE.public

https://ru.wikipedia.org/wiki/File_(схема_URI)

pfg ★★★★★
()
Последнее исправление: pfg (всего исправлений: 1)
Ответ на: комментарий от pfg

т.е. путь с файлом /home/User/R7/RPM-GPG-KEY-R7-OFFICE.public вставить между … –import < И && sudo …

sudo gpg –no-default-keyring –keyring gnupg-ring:/etc/apt/trusted.gpg.d/r7.gpg –import < /home/User/R7/RPM-GPG-KEY-R7-OFFICE.public && sudo chmod 644 /etc/apt/trusted.gpg.d/r7.gpg

ALARMus
() автор топика

2 варианта. кривой:

url="..."
file="$PWD/${url##*/}" #кусок после после последнего слеша в урле
curl -s "$url" && do-something-with-file "$file"

нормальный

url="..."
file="..."# сгенерировать имя как хочешь, можно вообще константу, можно завязать на дату/время/PID

curl -o "$file" "$url" && do-something-with-file "$file"

khrundel ★★★★
()
Ответ на: комментарий от ALARMus

Ну, может я задачу не так понял. Я понял что есть урл, надо скачать его в файл, а потом над полученным файлом выполнить какие-то операции.

Первый вариант пытается угадать имя локального файла. Просто взяв то что стоит за последним слешем в урле. В нормальной ситуации это сработает, но сервер может предложить другое имя, через 301/302 статус или через заголовок attachment, и я не знаю как это воспримет curl.

Второй вариант предлагает самому придумать имя для этого файла и заставить curl сохранить туда, а потом, уже зная имя сохранённого файла, делать с ним что хочешь.

khrundel ★★★★
()
Ответ на: комментарий от khrundel

А нет, чуть другое. Т.к. файлы скачивать по скрипту не удается, то файлы я скачал отдельно и выложил там же где пускается скрипт и поэтому строки curl url надо сменить на что-то, чтобы не качались файлы, а брались из папки.

ALARMus
() автор топика
Ответ на: комментарий от ALARMus

Своего мозга нет, протезом пользоваться не умеешь. ☺

Попроси админов. Не этих модных (они тоже пользуются протезом), а нормальных, их можно узнать по старым джинсам, растительности на лице и уставшем взгляде.

mord0d ★★★★★
()