gpt4 book ai didi

linux - 如何在不执行脚本的情况下将脚本中的变量获取到 shell

转载 作者:太空宇宙 更新时间:2023-11-04 05:09:10 25 4
gpt4 key购买 nike

我有以下 bash 脚本:

FILES="file_1 file_2 \
file_3"
export FILES
run_test

它有一个 FILES 变量,该变量写入多行,然后该脚本调用另一个脚本。

我想获取脚本以在 shell 中定义变量 FILES,但不调用其他脚本“run_test”

我尝试从脚本中 grep FILES 变量,但它仅获取变量中的第一行。

请问有什么推荐吗?

最佳答案

您可能需要考虑使用具有共享设置(如 FILES=)的 env.sourceme 文件。该文件可以由您的原始脚本和新脚本获取。

当您不想/无法更改原始文件时,您需要执行其他操作。当您的 sed 支持 -z 时,您可以使用

source <(sed -rz 's/.*(FILES="[^"]*").*/\1/' inputscript)

首先解析输入脚本时可以使用grep:

source <(tr "\n" "\r" < inputscript | grep -Eo 'FILES="[^"]*"' | tr "\r" "\n")

关于linux - 如何在不执行脚本的情况下将脚本中的变量获取到 shell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57736437/

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