如何在 bash alias Cordova 中包含目标模拟器
How to include target emulator in bash alias Cordova
在目标模拟器上 运行 Cordova 项目的常规方式如下:
cordova emulate ios --target="iPhone-4s, 9.3"
我有一个 bash 别名 运行 我的项目 iOS 在我的 .bash_profile 中:
alias ios_emulate='gulp --cordova '\''emulate ios -l'\'''
但是,我希望能够在我的别名中包含目标,因为
ios_emulate --target="iPhone-4s, 9.3"
得出 "No target specified for emulator. Deploying to iPhone-6s-Plus, 9.3 simulator"。如何将我指定的任何目标模拟器合并到我的别名中?蒂亚
首先,使用函数,而不是别名:
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
一个参数构建参数字符串。
在目标模拟器上 运行 Cordova 项目的常规方式如下:
cordova emulate ios --target="iPhone-4s, 9.3"
我有一个 bash 别名 运行 我的项目 iOS 在我的 .bash_profile 中:
alias ios_emulate='gulp --cordova '\''emulate ios -l'\'''
但是,我希望能够在我的别名中包含目标,因为
ios_emulate --target="iPhone-4s, 9.3"
得出 "No target specified for emulator. Deploying to iPhone-6s-Plus, 9.3 simulator"。如何将我指定的任何目标模拟器合并到我的别名中?蒂亚
首先,使用函数,而不是别名:
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
一个参数构建参数字符串。