如何从现有脚本创建shell脚本?
问题描述:
你好我想知道如何从现有的shell脚本创建一个shell脚本?我目前在已经完成的脚本应创建,它看起来像这样:如何从现有脚本创建shell脚本?
#!/bin/bash
uptime=$(</proc/uptime)
uptime=${uptime%%.*}
user=$(whoami)
seconds=$((uptime%60))
minutes=$((uptime/60%60))
hours=$((uptime/60/60%24))
days=$((uptime/60/60/24))
echo -e "
\033[0;35m+++++++++++++++++++: \033[0;37mServer Data\033[0;35m :+++++++++++++++++++
\033[0;35m+ \033[0;37mHostname \033[0;35m= \033[1;32m`hostname`
\033[0;35m+ \033[0;37mKernel \033[0;35m= \033[1;32m`uname -r`
\033[0;35m+ \033[0;37mTime \033[0;35m= \033[1;32m`date +%k:%M:%S`
\033[0;35m+ \033[0;37mUptime \033[0;35m= \033[1;32m$days d ~ $hours h ~ $minutes m ~ $seconds s
\033[0;35m+ \033[0;37mCPU \033[0;35m= \033[1;32m`cat /proc/cpuinfo | grep 'model name' | cut -c 14-100 | uniq`
\033[0;35m+ \033[0;37mMemory \033[0;35m= \033[1;32m`cat /proc/meminfo | grep MemTotal | awk {'print $2'}` kB
\033[0;35m++++++++++++++++++++: \033[0;37mUser Data\033[0;35m :++++++++++++++++++++
\033[0;37m+ \033[0;37mUsername \033[0;35m= \033[1;32m$user
\033[0;35m+ \033[0;37mSessions \033[0;35m= \033[1;32m`who | grep $user | wc -l` of 14
\033[0;35m+++++++++++++++++++++++++++++++++++++++++++++++++++++\e[m
"
唯一的问题我看,就像是“猫”或“grep”可以是命令会让他们echo'ed出来解释,而不是只是打印出来。所以这就是为什么我在这里问这样的事情可能是怎么一回事。
在此先感谢
答
尝试这样做使用这里-DOC和特招用单引号(无插值):
cat<<'EOF'>script.sh
#!/bin/bash
uptime=$(</proc/uptime)
uptime=${uptime%%.*}
user=$(whoami)
seconds=$((uptime%60))
minutes=$((uptime/60%60))
hours=$((uptime/60/60%24))
days=$((uptime/60/60/24))
echo -e "
\033[0;35m+++++++++++++++++++: \033[0;37mServer Data\033[0;35m :+++++++++++++++++++
\033[0;35m+ \033[0;37mAddress \033[0;35m= \033[1;32m109.163.233.49
\033[0;35m+ \033[0;37mHostname \033[0;35m= \033[1;32m`hostname`
\033[0;35m+ \033[0;37mKernel \033[0;35m= \033[1;32m`uname -r`
\033[0;35m+ \033[0;37mTime \033[0;35m= \033[1;32m`date +%k:%M:%S`
\033[0;35m+ \033[0;37mUptime \033[0;35m= \033[1;32m$days d ~ $hours h ~ $minutes m ~ $seconds s
\033[0;35m+ \033[0;37mCPU \033[0;35m= \033[1;32m`cat /proc/cpuinfo | grep 'model name' | cut -c 14-100 | uniq`
\033[0;35m+ \033[0;37mMemory \033[0;35m= \033[1;32m`cat /proc/meminfo | grep MemTotal | awk {'print $2'}` kB
\033[0;35m++++++++++++++++++++: \033[0;37mUser Data\033[0;35m :++++++++++++++++++++
\033[0;37m+ \033[0;37mUsername \033[0;35m= \033[1;32m$user
\033[0;35m+ \033[0;37mSessions \033[0;35m= \033[1;32m`who | grep $user | wc -l` of 14
\033[0;35m+ \033[0;37mAdmin \033[0;35m= \033[1;32mSergey Ruslan
\033[0;35m+++++++++++++++++++++++++++++++++++++++++++++++++++++\e[m
"
EOF
真棒非常感谢你:) – Sebastian 2013-04-20 12:55:14
很高兴帮你 – 2013-04-20 12:55:45