变量不会在bash函数中的''内被替换

弥勒斯

我要放这个

gulp --cordova 'prepare ios' --buildVars='version:${buildVarVersion},target:${target}' --res=${target}
gulp --cordova 'build ios --device --release --codeSignIdentity=${codeSignIdentity}' --no-build --res=${target}

在函数内部。单引号需要保留。我正在为正确的转义而苦苦挣扎。我试过了:

function buildIPA() {
  CFBundleIdentifier=$1
  target=$2
  version=$3
  codeSignIdentity=$4

  buildVarVersion="public";
  if [ "$version" = "enterprise" ]; then
      buildVarVersion="private";
  fi

  gulp --cordova \'prepare ios\' --buildVars=\'version:${buildVarVersion},target:${target}\' --res=${target}
  gulp --cordova \'build ios --device --release --codeSignIdentity=${codeSignIdentity}\' --no-build --res=${target}

};

但这似乎转化为:

gulp --cordova prepare ios --buildVars=version:${buildVarVersion},target:${target} --res=${target}

一起删除单引号。

詹斯

你应该全部替换

gulp --cordova \'prepare ios\' --buildVars=\'version:${buildVarVersion},target:${target}\' --res=${target}

gulp --cordova "prepare ios" --buildVars="version:${buildVarVersion},target:${target}" --res=${target}

否则,单词拆分(空格)将导致您的命令收到比预期更多的参数。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如果使用声明,bash 变量不会在数组内扩展

选择输出不会在替换变量提示前显示

为什么 Value 不会在变量中被替换?

循环永远不会在递归函数内完成

替换的HTML不会在DOM中持续存在

片段不会在导航抽屉中替换

如果未在函数范围内声明,PHP 不会在其他函数中获取数组值

替换Bash中变量内的文本

变量不会在参数和断言语句中替换

函数中的Bash变量替换

调用函数时,初始状态不会在另一个函数内改变

sed不会在脚本中扩展我的BASH变量

Bash变量不会在管道中递减

为什么这样?不会在if块内强制转换变量?

嵌套范围内的JavaScript变量不会在范围外发生错误

序列化不会在函数内返回值

HEREDOC文字内的变量替换

Angular 4:列表不会在替换后备数组中的项目时更新

替换内的回调函数(循环内)

如何在python 3中的函数内替换变量的值

Asciidoc中的文字内的替换

大括号内TCL中的变量替换

cron.d 中的 crons 不会在 Docker 容器内运行的 Ubuntu 上运行

它不会在控制台内的面向对象的 JavaScript 中显示“this”对象

自定义钩子内的useEffect不会在React中的正确oreder中被调用

函数不会在unityscript中运行

如何将json值推送到数组中而不会在角度6中被替换?

当监视变量在指令外异步更新时,$watch 不会在指令内触发(来自服务器)

AngularJS作用域变量不会在具有隔离作用域的指令内持久存在