分页: 1 / 1

跪求此脚本的编写(小弟初次接触ubuntu)

发表于 : 2009-12-02 21:27
zph0123
 请编写一个bash脚本,该脚本能够根据当前登录用户的名字以
及系统时间打印出相应的信息。假如当前用户是John。如果系统时
间是中午12点以前,则打印“Hello John, good morning.”,如果
时间是中午12点以后,则打印“Hello John, good afternoon.”。
--------------------------------------------------------------------------
非常感谢了。

Re: 跪求此脚本的编写(小弟初次接触ubuntu)

发表于 : 2009-12-02 21:40
xzap

代码: 全选

name=`whoami`
time=`date +%k`
if ((time < 12))
then 
echo "Hello $name good morning"
else
echo "Hello $name good afternoon"
fi

简单点就单行就可以了

代码: 全选

name=`whoami`;time=`date +%k`;((time < 12))&& echo "Hello $name good morning" || echo "Hello $name good afternoon"

还有顺便说下,能不跪还是尽量不要跪的好,有问题大家一起交流就是,论坛里很多人很愿意帮助新手的

Re: 跪求此脚本的编写(小弟初次接触ubuntu)

发表于 : 2009-12-02 21:59
xyy_xx
zph0123 写了: 请编写一个bash脚本,该脚本能够根据当前登录用户的名字以
及系统时间打印出相应的信息。假如当前用户是John。如果系统时
间是中午12点以前,则打印“Hello John, good morning.”,如果
时间是中午12点以后,则打印“Hello John, good afternoon.”。
--------------------------------------------------------------------------
非常感谢了。
第一贴就是学习帖,值得表扬 :em50

Re: 跪求此脚本的编写(小弟初次接触ubuntu)

发表于 : 2009-12-02 22:21
pityonline
xzap 写了:

代码: 全选

name=`whoami`
time=`date +%k`
if ((time < 12))
then 
echo "Hello $name good morning"
else
echo "Hello $name good afternoon"
fi

简单点就单行就可以了

代码: 全选

name=`whoami`;time=`date +%k`;((time < 12))&& echo "Hello $name good morning" || echo "Hello $name good afternoon"

还有顺便说下,能不跪还是尽量不要跪的好,有问题大家一起交流就是,论坛里很多人很愿意帮助新手的
学习了,另外请问一下后一条的双管道可以实现else的功能是吗?

Re: 跪求此脚本的编写(小弟初次接触ubuntu)

发表于 : 2009-12-02 22:53
Jarson
pityonline 写了: 学习了,另外请问一下后一条的双管道可以实现else的功能是吗?
不是双管道,是逻辑或操作符(具有短路功能) :em05

Re: 跪求此脚本的编写(小弟初次接触ubuntu)

发表于 : 2009-12-02 23:03
xyy_xx
pityonline 写了:
xzap 写了:

代码: 全选

name=`whoami`
time=`date +%k`
if ((time < 12))
then 
echo "Hello $name good morning"
else
echo "Hello $name good afternoon"
fi

简单点就单行就可以了

代码: 全选

name=`whoami`;time=`date +%k`;((time < 12))&& echo "Hello $name good morning" || echo "Hello $name good afternoon"

还有顺便说下,能不跪还是尽量不要跪的好,有问题大家一起交流就是,论坛里很多人很愿意帮助新手的
学习了,另外请问一下后一条的双管道可以实现else的功能是吗?
这个不叫双管道。

代码: 全选

||
的意思是上一个命令返回值为非0时才执行

代码: 全选

&&
则相反

Re: 跪求此脚本的编写(小弟初次接触ubuntu)

发表于 : 2009-12-02 23:35
pityonline
感谢楼主二位的讲解,学习了……

Re: 跪求此脚本的编写(小弟初次接触ubuntu)

发表于 : 2009-12-04 18:54
xxxyyyttt
xzap 写了:

代码: 全选

name=`whoami`
time=`date +%k`
if ((time < 12))
then 
echo "Hello $name good morning"
else
echo "Hello $name good afternoon"
fi

简单点就单行就可以了

代码: 全选

name=`whoami`;time=`date +%k`;((time < 12))&& echo "Hello $name good morning" || echo "Hello $name good afternoon"

还有顺便说下,能不跪还是尽量不要跪的好,有问题大家一起交流就是,论坛里很多人很愿意帮助新手的
我也是个新手
我想问一下 编好程序之后
在终端中究竟是输入什么命令行
最后如何执行的
谢了

Re: 跪求此脚本的编写(小弟初次接触ubuntu)

发表于 : 2009-12-04 21:51
Jarson
xxxyyyttt 写了:
我也是个新手
我想问一下 编好程序之后
在终端中究竟是输入什么命令行
最后如何执行的
谢了

代码: 全选

chmod 755 文件名
./文件名
/前面有一个 . 号,别漏了(假定程序在当前的工作目录下)
脚本语言程序一般都是通过命令解析器边解析边执行相应的操作的。对于bash脚本来说,程序其实就是一堆命令的逻辑组合。

Re: 跪求此脚本的编写(小弟初次接触ubuntu)

发表于 : 2009-12-09 21:02
tusooa

代码: 全选

name=`whoami` time=`date +%k`
((time < 12))&& t=morning || t=afternoon
echo "Hello $name, good ${t}"

Re: 跪求此脚本的编写(小弟初次接触ubuntu)

发表于 : 2009-12-10 11:15
aonowang
xzap 写了:

代码: 全选

name=`whoami`
time=`date +%k`
if ((time < 12))
then 
echo "Hello $name good morning"
else
echo "Hello $name good afternoon"
fi

简单点就单行就可以了

代码: 全选

name=`whoami`;time=`date +%k`;((time < 12))&& echo "Hello $name good morning" || echo "Hello $name good afternoon"

还有顺便说下,能不跪还是尽量不要跪的好,有问题大家一起交流就是,论坛里很多人很愿意帮助新手的
执行后出现 9: cannot open 12: No such file 是什么原因啊?怎么解决? :em20

Re: 跪求此脚本的编写(小弟初次接触ubuntu)

发表于 : 2009-12-10 12:36
bones7456

代码: 全选

echo "hello `whoami`, good `(( $( date +%k ) < 12 )) && echo morning || echo afternoon`"

Re: 跪求此脚本的编写(小弟初次接触ubuntu)

发表于 : 2009-12-10 12:41
tenzu
bones7456 写了:

代码: 全选

echo "hello `whoami`, good `(( $( date +%k ) < 12 )) && echo morning || echo afternoon`"
来学习