ios - 如何在 bash 别名 Cordova 中包含目标模拟器

标签 ios bash cordova alias

在目标模拟器上运行 Cordova 项目的常规方式如下:

cordova emulate ios --target="iPhone-4s, 9.3"

我有一个 bash 别名,用于在我的 .bash_profile 中运行我在 iOS 中的项目:

alias ios_emulate='gulp --cordova '\''emulate ios -l'\'''

但是,我希望能够在我的别名中包含目标,因为

ios_emulate --target="iPhone-4s, 9.3"

出现“没有为模拟器指定目标。部署到 iPhone-6s-Plus,9.3 模拟器”。如何将我指定的任何目标模拟器合并到我的别名中?蒂亚

最佳答案

首先,使用函数,而不是别名:

ios_emulate () {
    gulp --cordova 'emulate ios -l'
}

但是,这很难修改,因为您在命令行中使用的引号并不是参数的真正组成部分;它们只是阻止 shell 在调用您的函数之前执行分词。您需要在正确的位置手动添加引号。

我假设

ios_emulate --target="iPhone-4s, 9.3"

应该表现得和

一样
gulp --cordova 'emulate ios -l --target="iPhone-4s, 9.3"'

一个解决方案可能是

ios_emulate () {
    cordova_arg="emulate ios -l"
    for arg; do
        cordova_arg+=" '$arg'"
    done
    gulp --cordova "$cordova_arg"
}

它为 gulp 一次构建一个参数的参数字符串。

关于ios - 如何在 bash 别名 Cordova 中包含目标模拟器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38488728/

相关文章:

ios - iPhone - 在 UIView 上绘制透明矩形以显示下面的 View

bash - 如何将远程主机的输出存储在变量 bash 脚本中

javascript - Phonegap 事件在 iPhone 中不起作用

iOS 13 webaudio 对于 webview 中的 html 音频元素来说完全被破坏了

ios - 如何显示 NSMutableDictionary 中的数据?

iphone - 创建一个包含许多产品的数据库

linux - 如何使用 xargs 和 cat 将两个不同文件的内容作为参数进行管道传输?

javascript - 无法调用 determinedVisibility() 从未见过 PID 的连接

ios - 无符号整数与 %u

bash - 重命名目录中具有相同扩展名的多个文件