Bash 脚本无法从列表中下载源包

标签 bash shell ubuntu sh apt-get

我有一个安装在我的 Ubuntu 16.04 上的软件包列表。我有一个 bash 脚本,它尝试在适当的目录(已创建)中一一下载它们的源代码。我收到一个错误:

Reading package lists...
E: Unable to find a source package for xxxx
~/source
~/sourcexxx

我的 bash 脚本如下所示:
#!/bin/bash
while read package
do
    #cd /mnt
    mkdir $package
    pushd $package
    apt-get -d -q source $package
    popd
done < ins.txt

我不想更新任何系统文件。
apt-get -d -q 源 xxx 独立工作,但不在上面的脚本中。可能是什么原因?

我的 ins.txt 的一部分:
adduser
adium-theme-ubuntu
adwaita-icon-theme
alacarte
alsa-base
alsa-utils
amd64-microcode
anacron
apg
app-install-data
app-install-data-partner
apparmor
apparmor-easyprof

当我单独为例如 apt-get -d -q source adduser 进行操作时,它可以工作

最佳答案

使用您的列表,在删除 dpkg-query -f | 后,这对我来说似乎工作正常(在 Ubuntu 16.04 上)部分 :

#!/bin/bash

while read package
do
    echo "Package $package"
    mkdir -v $package
    pushd $package
    apt-get -d -q source $package
    popd
done < ins.txt

可能有些包没有源代码,或者您的 ins.txt 文件包含无效的包。

但是这个问题肯定会更好地发布在Ask Ubuntu上。 .

关于Bash 脚本无法从列表中下载源包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61932319/

相关文章:

linux - 允许在文件超过一定大小时清空文件的 shell 脚本

python - 如何使用纯 python 脚本更新/升级 linux 机器

python - 我如何要求 root 密码但稍后执行操作?

python - 使用python检查ubuntu中的dd状态

bash - 如何将 grep 重定向到 while 循环

bash - 如何在 bash 中为 getopts 提供大量参数?

Shell Hungman 没有在 ubuntu 上运行

python - python中的pycurl和curl有什么区别

linux - Debian 的网络监控脚本

bash - 使用 sed 进行字段排序