Считывание слов со строки, которые разделены пробелом(ами)/эндлайном/табулятором это легко.
А как при этом считывать отдельно еще и «слова», которые могут содержать пробелы, и которые определены кавычками? Обычные ковычки.
Просто если в скрипте именно так и считывать, то оно игнорирует и ковычки и escape-символ \ и т.д., и в результате если видит хотябы один пробел или эндлайн, то воспринимает как отдельное слово.
Т.е. нужно чтобы считывало как bash считывает аргументы функций.
При этом в скрипте через функцию почему-то не получается:
keywords_test="allsecurityinfo \"/media/kukubuntu/Data/AAA_Work/Programing/WEB/allsecurity.info\"
ubuntu_program_files \"/media/kukubuntu/Data/Program Files/AAA_Ubuntu\""
function readkeywords() {
echo "\$1 = $1"
echo "\$2 = $2"
echo "\$3 = $3"
echo "\$4 = $4"
echo "\$5 = $5"
echo "\$6 = $6"
}
readkeywords $keywords_test
exit 0
выдаёт:
$1 = allsecurityinfo
$2 = "/media/kukubuntu/Data/AAA_Work/Programing/WEB/allsecurity.info"
$3 = ubuntu_program_files
$4 = "/media/kukubuntu/Data/Program
$5 = Files/AAA_Ubuntu"
$6 =
В принципе можно написать програмку всякими этими рэгэкспами, но может быть можно реализовать как-нибудь по-простому?