首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Shelljs exec()不执行变量

Shelljs exec()不执行变量
EN

Stack Overflow用户
提问于 2018-01-18 12:16:27
回答 2查看 859关注 0票数 0

Shelljs exec命令不接受变量。我尝试了所有可能的组合,比如使用双引号,单引号,在变量前面赋值$等。下面是脚本:

代码语言:javascript
复制
#!/usr/bin/env node
require('shelljs');
for(let i = 0; i < data.length; i++)
{
  let dev = data[i];
  let platform_version = exec('adb -s $dev', {silent:false}).stdout;
}

错误:找不到dev或添加了adb的所有帮助命令并打印出来。

有人能帮帮忙吗?谢谢

注意: adb是一个android工具。您可以使用任何简单的命令行,如echo等

EN

回答 2

Stack Overflow用户

发布于 2018-01-18 12:41:09

您不能像'adb -s $dev'那样在JavaScript中进行字符串插值。$dev变量不会被它的值替换。您可以改用+运算符来形成字符串。请参阅下面的代码。

代码语言:javascript
复制
let platform_version = exec('adb -s ' + dev, {silent:false}).stdout;

注意:在ECMAScript 6中,您可以使用template literals获得类似的结果,因为它们允许字符串插值。模板文字写在`中(反引号)。这意味着代码`adb -s ${dev}`也应该提供所需的结果。

票数 2
EN

Stack Overflow用户

发布于 2018-01-20 05:50:59

使用模板文字我们可以解决这个问题。但在变量中有一个小的变化。

代码语言:javascript
复制
let platform_version = exec(`adb -s ${dev}`, {silent:false}).stdout;

需要使用花括号将变量括起来,以获得所需的结果。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/48313762

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档