pastebin

Paste #79118: Untitled Bash paste by 218.11.5.6

#!/bin/sh
##这是Ubuntu自动配置工具的测试脚本,新的概念和功能将由此测试。
##这只是一个测试,Hello World。
echo 'Hello World!'
##一段没太大意思的声明,注释掉也没关系。
echo '如果可以的话,配置过程将从此开始。'
echo '=========================================================='
echo '这个过程也许将花费大量的时间,请耐心等等。总之这样要比您自己配置快很多。'
echo '这个程序还不完善,我目前只在Ubuntu10.04.1 LTS上测试过,欢迎根据您自己的喜好和习惯进行修改。'
echo '如果您希望这个程序能够发展下去,请将修改后的代码或你的意见提交给我(如果是意见的话,我将尽力达成)。'
echo '如果这样的话,感激不尽!'
echo 'gjp1120@gmail.com制作,至于反馈,也请发到这里'
echo 'Ubuntu自动配置工具,配置开始!'

##这是配置的准备阶段,删除可能会影响配置过程的文件,为此,你最好将本脚本放在空白的文件夹中。(虽然误删现象不易出现)
##如果你正在调试或是第一次使用本程序,你也许可以将这段清理代码注释掉。
rm ./*.autoscripter

##好吧,准备阶段已经完成,脚本从此开始下一阶段过程。
echo '#!/bin/sh' >> AutoConf.autoscripter
echo '##这是ACU脚本生成的配置脚本,请在每次运行ACU之前删除它(如您从未修改过源脚本,源脚本将会在每次运行时删除它)。' >> AutoConf.autoscripter
echo '软件库更新应每隔一段进行一次,这样可以帮助你保持软件和系统为最新。'
read -p "确认要执行软件库更新吗?[y/n]" APT_UPDATE_1
         until [ "$APT_UPDATE_1" = y -o "$APT_UPDATE_1" = n ];do
         read -p "请输入y或者n : " APT_UPDATE_1
               done
         if [ $APT_UPDATE_1 = y ];then
               echo 'sudo apt-get update' >> AutoConf.autoscripter
         fi
         if [ $APT_UPDATE_1 = n ];then
               echo '您选择了不进行软件库更新,这样将可能无法完美完成接下来的过程。'
               exit 0
         fi

chmod 777 ./AutoConf.autoscripter

##ibus升级,目前版本1.3.9。系统默认的ibus1.2/1.3.7输入法有很大的Bug,所以推荐升级。
echo 'ibus升级,目前版本1.3.9。系统默认的输入法有很大的Bug,所以推荐升级。'
read -p "确定要执行ibus的更新吗?[y/n]" IBUS_1
         until [ "$IBUS_1" = y -o "$IBUS_1" = n ];do
         read -p "请输入y或者n : " IBUS_1
	       done
         if [ $IBUS_1 = y ];then
               echo 'sudo add-apt-repository ppa:shawn-p-huang/ppa' >>AutoConf.autoscripter
               echo 'sudo apt-get update' >> AutoConf.autoscripter
               echo 'sudo apt-get install ibus-gtk ibus-qt4 ibus-pinyin ibus-pinyin-db-open-phrasesudo' >> AutoConf.autoscripter
	       echo '安装和更新ibus-pinyin可以帮助ibus-pinyin更好用'
	       read -p "安装/更新ibus-pinyin吗?[y/n]" IBUS_PINYIN
	               until [ "$IBUS_PINYIN" = y -o "$IBUS_PINYIN" = n ];do
			   read -p "请输入y或者n : " IBUS_PINYIN
			       done
		       if [ $IBUS_PINYIN = y ];then
			   echo 'sudo apt-get install ibus-pinyin ibus-pinyin-db-android' >> AutoConf.autoscripter
		       fi
		       if [ $IBUS_PINYIN = n ];then
			   echo '不更新ibus-pinyin可能会使ibus出错。'
		       fi
	       echo '另一个好用的输入法,sunpinyin,支持短句输入'
	       read -p "安装sunpinyin吗?[y/n]" IBUS_SUNPINYIN
	               until [ "$IBUS_SUNPINYIN" = y -o "$IBUS_SUNPINYIN" = n ];do
			   read -p "请输入y或者n : " IBUS_SUNPINYIN
			       done
		       if [ $IBUS_SUNPINYIN = y ];then
			   echo 'sudo add-apt-repository ppa:ibus-dev/ibus-1.3-lucid' >> AutoConf.autoscripter
			   echo 'sudo apt-get update' >> AutoConf.autoscripter
			   echo 'sudo apt-get install ibus-sunpinyin' >> AutoConf.autoscripter
			   echo '因为您安装了ibus-sunpinyin,所以启用了一个不稳定的软件源,完成以后,请在“系统/系统管理/软件源”的“其它软件”选项卡下取消“http://ppa.launchpad.net/ibus-dev/ibus-1.3-lucid/ubuntu main”这一项之前的对勾,这样可以避免您错误的将软件升级到不稳定的版本。'
		       fi
		       if [ $IBUS_SUNPINYIN = y ];then
			   echo '您没有安装sunpinyin。'
		       fi
         fi
         if [ $IBUS_1 = n ];then
               echo '您选择了不进行ibus的更新,这样将使两个依赖ibus的选项被忽略。'
         fi

##stardict安装,这是一个非常好的字典软件,可以离线使用。请从官网下载字典,解压后放置于/usr/share/stardict/dic/
echo 'stardict是一个非常好的字典软件,可以离线使用。请从官网下载字典,解压后放置于“/usr/share/stardict/dic/”这个目录中。'
read -p "您要安装stardict吗?[y/n]" STARDICT
        until [ "$STARDICT" = y -o "$STARDICT" = n ];do
	    read -p "请输入y或者n : " STARDICT
	        done
	if [ $STARDICT = y ];then
	    echo 'sudo apt-get install stardict' >> AutoConf.autoscripter
	fi
	if [ $STARDICT = n ];then
	    echo '您没有安装stardict'
	fi

##compiz卸载,如果您的计算机性能不足,卸载compiz是一个不错的选择,您在卸载以后,可以使用metacity来实现compiz的一部分功能
##未实现功能:打开metacity。
echo 'compiz卸载,如果您的计算机性能不足,卸载compiz是一个不错的选择,您在卸载以后,可以使用metacity来实现compiz的一部分功能'
read -p "您想卸载compiz吗?[y/n]" COMPIZ
       until [ "$COMPIZ" = y -o "$COMPIZ" = n ];do
	   read -p "只能输入y或n : " COMPIZ
	       done
       if [ $COMPIZ = y ];then
	   echo 'sudo apt-get remove compiz-core' >> AutoConf.autoscripter
       fi
       if [ $COMPIZ = n ];then
	   echo 'Compiz将不会被卸载。'
       fi


##vim/emacs安装,如果你是高级用户,这两种编辑器也许是你的首选。
echo 'vim/emacs安装,如果你是高级用户,这两种编辑器也许是你的首选。'
echo '1.仅安装vim'
echo '2.仅安装emacs'
echo '3.同时安装vim和emacs两者'
echo '4.两者都不安装(初级用户选择)'
read -p "请选择您要安装的类型:[1-4]" TEXT
        until [ "$TEXT" = 1 -o "$TEXT" = 2 -o "$TEXT" = 3 -o "$TEXT" = 4 ];do
	    read -p "请输入1-4的数字 : " TEXT
	        done
	if [ $TEXT = 1 ];then
	    echo 'sudo apt-get install vim' >> AutoConf.autoscripter
	fi
	if [ $TEXT = 2 ];then
	    echo 'sudo apt-get install emacs' >> AutoConf.autoscripter 
	fi
	if [ $TEXT = 3 ];then
	    echo 'sudo apt-get install vim emacs' >> AutoConf.autoscripter
        fi
	if [ $TEXT = 4 ];then
	    echo '未选择,使用Gedit'
	fi



##关于桌面环境,高级用户可能需要其他桌面环境。
echo '桌面环境选择安装,如果你是高级用户,也许你需要这样的选择。(只允许选择一个,也就是说,你最多只能使用两套桌面环境。我想这足够了。)'
echo '1.GNOME(Ubuntu默认桌面环境,普通用户请选这个)'
echo '2.KDE(KUbuntu默认桌面环境)'
echo '3.Xfce(XUbuntu默认桌面环境)'
echo '4.LXDE(轻量级桌面环境)'
echo '5.默认(什么都不装)'
read -p "请选择您要安装的桌面环境类型:[1-5]" DESKTOP
        until [ "$DESKTOP" = 1 -o "$DESKTOP" = 2 -o "$DESKTOP" = 3 -o "$DESKTOP" = 4 -o "$DESKTOP" = 5 ];do
	    read -p "请输入1-5的数字 : " DESKTOP
	        done
	if [ $DESKTOP = 1 ];then
	    echo 'sudo apt-get install ubuntu-desktop' >> AutoConf.autoscripter
	fi
	if [ $DESKTOP = 2 ];then
	    echo 'sudo apt-get install kubuntu-desktop' >> AutoConf.autoscripter
	fi
	if [ $DESKTOP = 3 ];then
	    echo 'sudo apt-get install xubuntu-desktop' >> AutoConf.autoscripter
        fi
	if [ $DESKTOP = 4 ];then
	    echo 'sudo apt-get install lxde' >> AutoConf.autoscripter
	fi
	if [ $DESKTOP = 5 ];then
	    echo '未进行选择,保持系统默认。'
	fi

##未实现:因为系统中并未带有MP3解码器,这段代码将帮助用户安装这个解码器。

##未实现:因为系统中并不带有比较好的视频播放器,也没有解码插件,这段代码将帮助用户解决这个问题

##未实现:帮助用户下载并安装QQ4LIN。

##vlc/mplayer安装。
echo 'vlc/mplayer安装,如果你是高级用户,这两种播放器也许是你的首选。'
echo '1.仅安装mlayer'
echo '2.仅安装vlc'
echo '3.同时安装vlc和mplayer两者'
echo '4.两者都不安装(初级用户选择)'
read -p "请选择您要安装的类型:[1-4]" VPLAYER
        until [ "$VPLAYER" = 1 -o "$VPLAYER" = 2 -o "$VPLAYER" = 3 -o "$VPLAYER" = 4 ];do
	    read -p "请输入1-4的数字 : " VPLAYER
	        done
	if [ $VPLAYER = 1 ];then
	    echo 'sudo apt-get install mplayer' >> AutoConf.autoscripter
	    read -p "您选择了安装包mplayer,您想要安装mplayer-gui吗?[y/n]" GMPLAYER1
	            until [ "$GMPLAYER1" = y -o "$GMPLAYER1" = n ];do
			read -p "请输入y或者n : " GMPLAYER1
			    done
		    if [ $GMPLAYER1 = y ];then
			echo 'sudo apt-get install mplayer-gui' >> AutoConf.autoscripter
		    fi
		    if [ $GMPLAYER1 = n ];then
			echo 'Mplayer-gui将不会被安装。'
		    fi
	fi
	if [ $VPLAYER = 2 ];then
	    echo 'sudo apt-get install vlc' >> AutoConf.autoscripter 
	fi
	if [ $VPLAYER = 3 ];then
	    echo 'sudo apt-get install vlc mplayer' >> AutoConf.autoscripter
	    read -p "您选择了安装包mplayer,你想要安装包mplayer-gui吗?[y/n]" GMPLAYER2
	            until [ "$GMPLAYER2" = y -o "$GMPLAYER2" = n ];do
			read -p "请输入y或者n : "
			    done
		    if [ $GMPLAYER2 = y ];then
			echo 'sudo apt-get install mplayer-gui' >> AutoConf.autoscripter
		    fi
		    if [ $GMPLAYER2 = n ];then
			echo 'Mplayer-gui将不会被安装。'
		    fi
        fi
	if [ $VPLAYER = 4 ];then
	    echo '未选择,保持系统默认。'
	fi

##这一步执行所有之前的选项所生成的脚本
echo '感谢支持,如您对本脚本感到满意,请帮助我推广它。'
echo '设置已保存,正在应用中.........这可能花费大量的时间,请耐心等待...........'
./AutoConf.autoscripter
echo '自动配置已完成!'

##未实现:Ubuntu Tweak是一个不错的配置工具,这段代码将帮助用户下载并安装它。
##wget
##sudo dpkg -i ./ubuntutweak*

##fstab/grub.cfg的修改,高级用户可能需要修改这两个文件。
read -p "请选择是否进行高级设置?(修改fstab和grub.cfg)[y/n]" EXT
    until [ "$EXT" = y -o "$EXT" = n ];do
	read -p "只能输入y/n : " EXT
	    done
    if [ $EXT = y ];then
	sudo nano /etc/fstab
	sudo nano /boot/grub/grub.cfg
    fi

##在一切完成之后,我们来清理在配置过程中产生的垃圾文件,这些包括调试记录/过程脚本/临时文件。
read -p "请选择是否进行临时文件的清理?[y/n]" CLEAN
    until [ "$CLEAN" = y -o "$CLEAN" = n ];do
	read -p "只能输入y或者n : " CLEAN
	    done
    if [ $CLEAN = y ];then
	sudo apt-get clean
	sudo apt-get autoremove
	rm ./*.autolog
	rm ./*.autoprep
	rm ./*.autoscripter
    fi
    if [ $CLEAN = n ];then
	echo '未进行配置后清理,请手动进行清理。'
    fi

##好了,一切都结束了,让我们庆祝吧。
##echo 'hello world!'

Private
Wrap long lines

3 + 2 =