Ubuntun 16.04
Bash 4.4.0
У меня есть строки и строки в CSV-файле, которые я могу использовать в качестве переменных. Пример:
"2013","White Woman","Green Orcas Rolling","Felix"
"2014","White Woman","Green Orcas Rolling","Felix"
"2012","White Woman","Green Orcas Rolling","Felix"
"2011","White Woman","Green Orcas Rolling","Felix"
Я хочу передать эти строки в скрипт bash, который сгенерирует полный URL.
Example: bash scriptname.sh "2012","White Woman","Green Orcas Rolling","Felix"
Я могу заменить пробелы, которые находятся внутри переменных, внутри скрипта,Как я могу удалить запятые, которые разделяют переменные, передаваемые в сценарий, внутри сценария, прежде чем они будут взаимодействовать и устанавливать сами.
Вот пример моего сценария:
#!/bin/bash
year="${1}"
oinker="${2// /%20}"
poinker="${3// /%20}"
loinker="${4// /%20}"
echo "https://mickeyorileysooo.com/sysbuilder.php?bg=2&year=${year}&oinker=${oinker}&poinker=${poinker}&loinker=${loinker}"
Здесьэто результат:
root@0000 ~ # bash scriptname.sh "2012" "White Woman" "Green Orcas Rolling" "Felix"
https://mickeyorileysooo.com/sysbuilder.php?bg=2&year=2012&oinker=White%20Woman&poinker=Green%20Orcas%20Rolling&loinker=Felix
Вот обновленный скрипт с руководством от Barmar:
#!/bin/bash
IFS=,
set -- $*
year="${1}"
oinker="${2// /%20}"
poinker="${3// /%20}"
loinker="${4// /%20}"
echo "https://mickeyorileysooo.com/sysbuilder.php?bg=2&year=${year}&oinker=${oinker}&poinker=${poinker}&loinker=${loinker}"
Теперь я оставляю запятые в командной строке и запускаю скрипт:
root@0000 ~ # bash scriptname.sh "2012","White Woman","Green Orcas Rolling","Felix"
https://mickeyorileysooo.com/sysbuilder.php?bg=2&year=2012&oinker=White%20Woman&poinker=Green%20Orcas%20Rolling&loinker=Felix
Запятых нет, и результат идеален!