一个实用的脚本:Gentoo自动添加USE变量

用过Gentoo的人都对它的包管理特色耳目一新,特别是下载软件的特殊方式,正确设置USE变量是碰到最多的事情了。我用接触Gentoo到现在有1年半了,真正用也的时间比较少,因为自己目前还是无法深入理解linux,无法深入理解Gentoo,无法深入理解LFS,做了很多重复的工作,效率很低。比如说,添加USE变量,我以前都是手工添加,效率太低。。。

学了Shell之后,尝试过写Shell脚本来自动把USE自动添加到 /etc/portage/package.use中,但是一直没有成功。舍友的一次尝试终于成功,不敢独自享用,遂推荐给大家使用。以后USE的添加就是打打软件包名的事情了,不用再那么麻烦重复打开那些永远也记不住名字的文件。。

下面是此shell截图以及代码: 

代码如下: 

#!/bin/bash

#This shell try to help you add use
#variable to file /etc/portage/package.use automatically

#cp /etc/portage/package.use /etc/portage/package.backup

if (( $#==0 )); then
#test parameter

echo Usage: ./adUSE parameter
elif (( $#>1 )); then

echo Too many parameters
#too many parameters

else
emerge -pv $1 > temp_1
#output result emerge -pv to file temp_1

#rehandle temp_1 with grep
grep ‘USE=’ temp_1 | awk -F'[]”U]’ ‘{print “>=”$2” “$4}’ > temp_2

#handle
result to /etc/portage/package.use
awk ‘{sub(/= /,”=”);print}’ temp_2 > /etc/portage/package.use
rm temp_1
rm temp_2
cat /etc/portage/package.use #display to test whether correct

echo
echo
echo “Begin now?(Y/N)” #ask you whether start to download software

read choice
#Start or not??
case “$choice” in
Y|y|Yes|yes)
#Yes

emerge $1;;
N|n|no|No) #No

echo “Thanks for using!”;;
*)

echo “Wrong input,emerge won’t start,bye!”;;
esac #end choice

fi #end if

知识共享许可协议
本作品《一个实用的脚本:Gentoo自动添加USE变量》verynix创作,采用知识共享署名-非商业性使用-禁止演绎 3.0 Unported许可协议进行许可。
基于verynix.com上的作品创作。
Permissions beyond the scope of this license may be available at verynix.com.

本文链接: http://verynix.com/1047.html

Post Footer automatically generated by wp-posturl plugin for wordpress.

Leave a Reply

Your email address will not be published. Required fields are marked *