我正在制作一个 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/