gpt4 book ai didi

bash - 在 shell 脚本中提取引号中的单词

转载 作者:行者123 更新时间:2023-11-29 09:19:49 26 4
gpt4 key购买 nike

我正在制作一个 shell 脚本,它将自动执行 Arch Linux 的安装过程 AUR packages .我需要列出包的所有依赖项(以检查它们是否已安装),它们在安装脚本中如下所示:

depends=('sdl' 'libvorbis' 'openal')

我能想出的最简单的方法(或唯一的想法)是这样的:

grep "depends" PKGBUILD | awk -F"'" '{print $2 "\n" $4 "\n" $6;}'

但是依赖计数因包而异。那么,如果字数不同,我如何在引号中输出名称?

提前致谢

-斯卡兹

最佳答案

如果 depends 只是一行,您可以尝试的一件事是在 bash 本身中评估该行......这将导致一个名为“depends”的数组包含所有值。看起来很棘手,但不是动态语言:

depend_line=`grep depends $PKGBUILD`
eval "${depend_line}"
echo ${depend[0]} # Will print sdl in your example

关于bash - 在 shell 脚本中提取引号中的单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4051285/

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