我正在读取一个字符串(存储在另一个文件中的文件的名称)到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
答案 0 :(得分:0)
我发现错误来自文件“string.txt”,我将数据保存为HTML保存为文件js函数。它有一个奇怪的角色,没有在shell的回声或记事本文本上显示。
当我看到那个角色时,我尝试重复批处理文件中的步骤。我使用js正则表达式剥离了角色。这解决了这个问题。