Solaris10中编写alias function脚本
solaris中用户目录下没有.bash_profile、.bashrc文件。我这里只对root用户而言。alias追加到/.profile中。此文件是新建的
function写在全局脚本/etc/profile中
vi /etc/profile添加如下脚本# 删除别名function delalias(){ profile=/.profile# /.profile文件中如果存在该命令别名,删除该行。输出重定向到临时文# 件/tmp_profile。删除/.profile。tmp_profile重命名为.profile# 因系统里的sed版本不能在处理后替换源文件。 cd /;touch tmp_profile;tmp_f=/tmp_profile; if [ $# -eq 0 ];then usage fi for params do num=`grep -c "alias $params" $profile`; if [ "$num" != "0" ];then sed "/alias $params/d" $profile >$tmp_f; rm $profile;mv $tmp_f $profile; fi# 通过alias命令得到所有别名,awk取出别名名称。grep 当前要命名的别名# 如果有一样的,得到的结果是非空。这个条件下,unalias该别名。 test=`alias|awk -F= '{print$1}'|awk '{print$2}'|grep "$params"`; if [ "$test" != "" ];then unalias "$params" else echo "error:unknown alias $params" fi done}# 简单提示function usage(){ #delete alias usage echo "error:input unalias name.Usage:delalias aliasname [names..]" echo "you can unalias not only one alias at one time"}# 设置别名function mkalias(){ profile=/.profile cd /;touch tmp_profile;tmp_f=/tmp_profile; if [[ $1 && $2 ]] then# 设置前先检查是否存在该别名。 test=`alias|awk -F= '{print$1}'|awk '{print$2}'|grep "$params"`; if [ "$test" != "" ];then delalias $1 fi echo "alias $1="$2"" >>$profile; alias $1="$2" else echo "error:function needs two parameters" fi}
vi /.profilePS1是设置root用户命令前的提示字符串PS1='[\u@\h:$PWD]#'export PS1PATH=$PATHexport PATH