Возможный дубликат:
Переход в каталог с использованием переменных bash не работает, если в именах каталогов есть пробелы
У меня есть текстовый файл, где каждая строка представляет собой список аргументов, которые я хочу передать скрипту nodejs. Вот пример файла file.txt:
"This is the first argument" "This is the second argument"
Ради демонстрации, скрипт узла просто:
console.log(process.argv.slice(2));
Я хочу запустить этот скрипт для каждой строки в текстовом файле, поэтому я сделал этот скрипт bash, run.sh:
while read line; do
node script.js $line
done < file.txt
Когда я запускаю этот bash-скрипт, это то, что я получаю:
$ ./run.sh
[ '"This',
'is',
'the',
'first',
'argument"',
'"This',
'is',
'the',
'second',
'argument"' ]
Но когда я просто запускаю скрипт узла напрямую, я получаю ожидаемый результат:
$ node script.js "This is the first argument" "This is the second argument"
[ 'This is the first argument',
'This is the second argument' ]
Что тут происходит? Есть ли более нод-способ сделать это?