1

Возможный дубликат:
Переход в каталог с использованием переменных 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' ]

Что тут происходит? Есть ли более нод-способ сделать это?

0