首页 > 制作显示欢迎信息的脚本程序

制作显示欢迎信息的脚本程序

终端程序恐怕是Linux用户使用最为频繁的了。我的Debian系统启动后便是直接进入的终端界面。为了在每次登录时或者是在X视窗环境下打开终端程序时显示一些欢迎信息,比如当前的日期、名人警句等,从而可以增加一些生活情趣,就可以创建一个脚本程序,然后在~/.bashrc文件调用它。我自己就写了一个welcome.sh,执行时首先显示当前登录的用户名与主机名,然后打印出当天的日期、当天处于今年的第几个星期——这一数据在项目汇报中常被使用。同时,显示当天是今年的第几天,计算出距离年末还有几天,这样就可以给自己警醒,“又一年即将过去,自己是否珍惜了时光?”。最后,脚本调用fortune程序,随机显示一些警句或有意思的话。将这些综合起来,写成welcome.sh脚本如下:

#!/bin/bashscript_name="welcome.sh"
script_usage=$(cat <<EOF
welcome.sh [OPTIONS]
EOF
)
script_function=$(cat <<EOF
Display a welcome message.
EOF
)
script_doc=$(cat <<EOF
-h     Display this help.
EOF
)
script_examples=$(cat <<EOF
EOF
)
state_prefix="==="
warning_prefix="***"
error_prefix="!!!"function display_help() {if [ -n "$script_usage" ]; thenecho -e "Usage: $script_usage"fiif [ -n "$script_function" ]; thenecho -e "$script_function"fiif [ -n "$script_doc" ] ; thenecho -e "
$script_doc"fiif [ -n "$script_examples" ]; thenecho -e "
Examples"echo -e "$script_examples"fi
}# Delete a same character from the beginning of a variable. The source variable is the global variable $src_string
# $1: pattern character
function del_leading_chars() {local pat_charlocal prev_src_string_lenlocal src_string_lendeclare -i prev_src_string_lendeclare -i src_string_lenpat_char=$1prev_src_string_len=0src_string_len=${#src_string}while [ $(($prev_src_string_len != $src_string_len)) = 1 ]; doprev_src_string_len=$src_string_lensrc_string=${src_string/#${pat_char}/}src_string_len=${#src_string}done
}# Process command options
while getopts ":h" opt; docase $opt inh  )  display_helpexit 0 ;;? )  display_helpexit 1 ;;esac
done
shift $(($OPTIND - 1))# Start execute the commanddeclare -i total_dates=365
year=`date +%Y`# Test leap year
if [ $(($year % 100 == 0)) = 1 ]; thenif [ $(($year % 400 == 0)) = 1 ]; thentotal_dates=366fi
elseif [ $(($year % 4 == 0)) = 1 ]; thentotal_dates=366fi
fisrc_string=`date +%j`
del_leading_chars '0'
cur_day_no=$src_string
src_string=`date +%V`
del_leading_chars '0'
cur_week_no=$src_stringecho "********************************************************"
echo "Hello "`whoami`"! ""Welcome to "`hostname`"!"
echo "Today is "`date "+%A, %B %d, %Y"`
echo "Week $cur_week_no, day $cur_day_no, remaining days $(($total_dates - $cur_day_no))"
echo "********************************************************"
fortune

welcome.sh放入~/.bashrc后,现在再打开终端程序,就会显示出现面的信息:

转载于:https://www.cnblogs.com/quantumman/p/4586756.html

更多相关: