Вот моя программа: СЕПГ Ошибка «Нет такого файла или каталога»
#!/bin/bash
message=('somewebsite1' 'somewebsite2' 'somewebsite3' 'somewebsite4')
for i in "${message[@]}"
do
longUrl=$(sed -ne 's/.*\(https\{0,1\}:\/\/[^"]*\).*/\1/p' "$i" | head -n 1)
if test "$longUrl"; then
echo "Shortening Url $longUrl ..."
shortUrl=$(curl -s https://www.googleapis.com/urlshortener/v1/url -H 'Content-Type: application/json' -d "{'longUrl': '$longUrl'}" | python -c 'import json, sys; print(json.load(sys.stdin)["id"])')
message=${message/$longUrl/$shortUrl}
printf "%s\n" "$i" >> file.txt
fi
done
</pre>
Я пытаюсь сократить URL, помещая их все в массив, но после того, как я бегу, я получаю следующее сообщение об ошибке:
СЭД: somewebsite1: Нет такого файла или каталога
СЭД: somewebsite2: Нет такого файла или каталога
СЭД: somewebsite3: Нет такого файла или каталога
СЭД: somewebsite4: Нет такого файла или каталога
Спасибо!
sed ожидает файл как свой вход, а не строку. ваши аргументы интерпретируются как имена файлов, а не как фактический текст для обработки. –