gpt4 book ai didi

shell - 如何在ksh中导出具有相同值的多个变量?

转载 作者:行者123 更新时间:2023-12-04 13:26:36 25 4
gpt4 key购买 nike

我想在一行中将以下变量设置为相同的值

Example:  export A=B=C=20

'bash' 中有可用的语法,但我如何才能在 中完成上述操作ksh ?

最佳答案

ksh93(或bash)没有这样的表达,所以更好
使其明确。但是你可以捆绑多个变量
(及其初始值)在单个 export 中短语:

export A=1 B=2 C=3
测试:
$ (export A=1 B=2 C=3 && ksh -c 'echo A=$A B=$B C=$C D=$D')
A=1 B=2 C=3 D=

尴尬的选择
没有类似 C 的捷径,除非你想要这个丑陋的东西:
A=${B:=${C:=1}}; echo $A $B $C
1 1 1
... 不适用于 export ,当 B 或 C 为空或不存在时,它也不起作用。
算术符号
Ksh93 算术符号 是否实际上支持 C 风格的链式赋值,但出于显而易见的原因,这只适用于数字,然后你必须做 export分别地:
$ ((a=b=c=d=1234))
$ echo $a $b $c $d
1234 1234 1234 1234
$ export a b d
$ ksh -c 'echo a=$a b=$b c=$c d=$d' # Single quotes prevent immediate substitution
a=1234 b=1234 c= d=d1234 # so new ksh instance has no value for $c
请注意我们如何不导出 c ,它在子shell中的值确实是空的。

关于shell - 如何在ksh中导出具有相同值的多个变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33031078/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com