Транспортир conf.js выдает «спецификации не найдены» только при запуске через переменную пакетного скрипта

#shell #protractor #config

#оболочка #транспортир #конфигурация

Вопрос:

Я считываю строку (имя файла, хранящегося в другом файле) в переменную в скрипте bash.
Моя исходная команда для запуска

 protractor conf.js --specs 'LeadershipBoard.js'
  

который хорошо работает, если записан непосредственно в файле сценария. Но приведенное ниже не работает.

 protractor conf.js --specs $value 
  

И возвращает «Спецификации не найдены. Завершено через 0 секунд «. Вот мой RunConf.sh файл

 #!/bin/bash
value=$(<string.txt)
echo $value           // 'LeadershipBoard.js'

commandForConf="protractor conf.js --specs $value"
echo $commandForConf  // protractor conf.js --specs 'LeadershipBoards.js'

eval "$commandForConf"   // No specs found
eval "protractor conf.js --specs  'LeadershipBoard.js'"   // 6 specs found, 0 failures
  

Я хочу, чтобы eval «$commandForConf» работал. Вот консоль входа в систему

 $ sh RunConf.sh  
'LeadershipBoard.js'  
protractor conf.js --specs 'LeadershipBoard.js'  
[15:49:35] I/hosted - Using the selenium server at http://localhost:4444/wd/hub   
[15:49:35] I/launcher - Running 1 instances of WebDriver  
Started  

No specs found Finished in 0 seconds  

[15:49:46] I/launcher - 0 instance(s) of WebDriver still running  
[15:49:46] I/launcher - internet explorer11 #01 passed  
[15:49:54] I/hosted - Using the selenium server at http://localhost:4444/wd/hub  
[15:49:54] I/launcher - Running 1 instances of WebDriver Started  


6 specs, 0 failures Finished in 58.478 seconds  
[15:51:00] I/launcher - 0 instance(s) of WebDriver still running  
[15:51:00] I/launcher - internet explorer11 #01 passed  
  

Комментарии:

1. это определенно проблема с правами доступа к файлам. проверьте это!

Ответ №1:

Я обнаружил, что ошибка была из файла «string.txt » в который я сохранял данные из функции HTML save as file js. У него был странный символ, который не отображается в тексте echo или notepad оболочки.

Я попытался повторить шаги в пакетном файле, когда увидел этот символ. Я удалил символ, используя регулярное выражение js. Это решило проблему.