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

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

我能想到的最简单的方法(或唯一的想法)是这样的:
grep "depends" PKGBUILD | awk -F"'" '{print $2 "\n" $4 "\n" $6;}'

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

提前致谢,

-skazhy

最佳答案

试试这个尺寸:

grep "depends" PKGBUILD > /tmp/depends
. /tmp/depends

echo ${depends[@]}

嘿,看,这是一个数组吗?是的。
for d in "${depends[@]}" ; do
    printf '"%s"' "$d"
done

注意:在实际脚本中,您需要更加小心地命名临时文件。

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

10-12 20:27