Bash 将基于Ubuntu版本的正确存储库添加到sources.list
我有一个脚本,可以安装新安装时所需的所有程序。其中一些需要外部存储库。例如,我想将正确的存储库添加到sources.list中,然后安装该程序。 到目前为止,我有:Bash 将基于Ubuntu版本的正确存储库添加到sources.list,bash,shell,ubuntu,Bash,Shell,Ubuntu,我有一个脚本,可以安装新安装时所需的所有程序。其中一些需要外部存储库。例如,我想将正确的存储库添加到sources.list中,然后安装该程序。 到目前为止,我有: source /etc/os-release link="http://qgis.org/debian $UBUNTU_CODENAME main" a='echo "deb $link" >> /etc/apt/sources.list' b='echo "deb-src $link" >> /etc
source /etc/os-release
link="http://qgis.org/debian $UBUNTU_CODENAME main"
a='echo "deb $link" >> /etc/apt/sources.list'
b='echo "deb-src $link" >> /etc/apt/sources.list'
sudo sh -c $a
sudo sh -c $b
连接部分不起作用。如何解决这个问题? < P>首先,考虑一个简单的方法:
source /etc/os-release
{
sudo deb http://qgis.org/debian "$UBUNTO_CODENAME" main
sudo deb-src http://qgis.org/debian "$UBUNTO_CODENAME" main
} >> /etc/apt/sources.list
如果您觉得需要重构,请定义一个shell函数:
get_package_list () {
sudo "$1" http://qgis.org/debian "$UBUNTU_CODENAME" main
}
{ get_package_list deb
get_package_list deb-src
} >> /etc/apt/sources.list
a
和b
中的双引号是文字,而不是句法。看见尝试set-x
以查看shell试图执行什么。