gpt4 book ai didi

bash - 从命令行覆盖 Bash 脚本中的变量

转载 作者:行者123 更新时间:2023-11-29 08:42:28 32 4
gpt4 key购买 nike

如何从命令行覆盖 Bash 脚本中的变量?

我知道如何传递变量,但我只想要像 ./myscript.sh -Dvar=val 这样的东西。

最佳答案

您需要对要覆盖的变量使用参数扩展:

$ cat override.sh
#!/bin/bash

: ${var1:=foo} # var1 will take on the value "foo" if not overridden
var2=${var2:-foo} # same thing but more typing

echo "var1 is $var1 | var2 is $var2"

没有覆盖值

$ ./override.sh
var1 is foo | var2 is foo

具有覆盖值

$ var1=bar var2=baz ./override.sh
var1 is bar | var2 is baz

关于bash - 从命令行覆盖 Bash 脚本中的变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4609668/

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