问题的大局:我正在创建Golang脚本(http://github.com/Droplr/aws-env),用于保护检索环境变量并将其导出以用于其他进程。
正如我们所知,由于脚本无法在 [1],[2]之外导出变种,因此这并不容易。
所以我们尝试这样做的方式基本上是outputing export statements,然后使用bash反引号来运行该命令。
最终用法如下:
`aws-env` && printenv
其中printenv应显示由评估的aws-env输出(包含“export”语句)导出的变量。
问题出现在包含空格/换行等的变量上。
简化下划线代码,这个有效:
$ export A=b\ b
$ printenv | grep A=
A=b b
而这 - 不是:
$ `echo export A=b\ b`
$ printenv | grep A=
A=b
我已经讨论了其他Stackoverflow讨论([3])但是找不到明确的答案(主要是答案是不使用反引号,但是我们试图解决它的整体问题不会那么容易...)
答案 0 :(得分:0)
如果我正确地遵循这个,aws-env将输出如下内容:
export A=b\ b
export B=test
export C=this\ is\ a\ test
您希望在当前shell中执行这些命令吗?如果是这样,这应该有效:
. <(aws-env)
printenv | egrep "^[ABC]="
答案 1 :(得分:0)
我已经通过struct CardView: View {
let card: Card
var body: some View {
VStack() {
HStack() {
VStack(alignment: .leading) {
Text(card.title)
.fixedSize(horizontal: false, vertical: true)
.frame(width: 100, height: CGFloat(card.height))
.layoutPriority(99)
}
Spacer()
}
.padding([.leading, .trailing, .bottom], 8)
}
.background(Color.yellow)
.cornerRadius(8)
.background(
RoundedRectangle(cornerRadius: 8)
.stroke(Color.secondary.opacity(0.5))
)
}
}
struct Card {
let title: String
let subtitle: String
let height: Int
}
进行了测试
它既可以使用转义空格,也可以使用引号。