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

sh/bash/dash/ksh/zsh等Shell脚本
回复
zph0123
帖子: 1
注册时间: 2009-12-01 21:06

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

#1

帖子 zph0123 » 2009-12-02 21:27

 请编写一个bash脚本,该脚本能够根据当前登录用户的名字以
及系统时间打印出相应的信息。假如当前用户是John。如果系统时
间是中午12点以前,则打印“Hello John, good morning.”,如果
时间是中午12点以后,则打印“Hello John, good afternoon.”。
--------------------------------------------------------------------------
非常感谢了。
头像
xzap
帖子: 256
注册时间: 2006-08-24 21:25

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

#2

帖子 xzap » 2009-12-02 21:40

代码: 全选

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"

还有顺便说下,能不跪还是尽量不要跪的好,有问题大家一起交流就是,论坛里很多人很愿意帮助新手的
头像
xyy_xx
帖子: 344
注册时间: 2008-09-17 13:37
系统: arch|centos

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

#3

帖子 xyy_xx » 2009-12-02 21:59

zph0123 写了: 请编写一个bash脚本,该脚本能够根据当前登录用户的名字以
及系统时间打印出相应的信息。假如当前用户是John。如果系统时
间是中午12点以前,则打印“Hello John, good morning.”,如果
时间是中午12点以后,则打印“Hello John, good afternoon.”。
--------------------------------------------------------------------------
非常感谢了。
第一贴就是学习帖,值得表扬 :em50
拥有书籍并不表示拥有知识;拥有知识并不表示拥有技能;拥有技能并不表示拥有文化;拥有文化并不表示拥有智慧
渣浪:@CodewalkerDotMe
推特:@codewalkertse
博客:http://codewalker.me/
头像
pityonline
帖子: 3864
注册时间: 2008-12-09 12:44
来自: 北京
联系:

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

#4

帖子 pityonline » 2009-12-02 22:21

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的功能是吗?
Pity is the bomp!
活着就是折腾!生命不息,折腾不止!
看这帮家伙在干什么?@pityonline/u
Dropbox+Vps+PC 跑起来了!这是邀请链接
头像
Jarson
帖子: 2371
注册时间: 2008-07-21 9:44
来自: 深圳
联系:

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

#5

帖子 Jarson » 2009-12-02 22:53

pityonline 写了: 学习了,另外请问一下后一条的双管道可以实现else的功能是吗?
不是双管道,是逻辑或操作符(具有短路功能) :em05
头像
xyy_xx
帖子: 344
注册时间: 2008-09-17 13:37
系统: arch|centos

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

#6

帖子 xyy_xx » 2009-12-02 23:03

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时才执行

代码: 全选

&&
则相反
拥有书籍并不表示拥有知识;拥有知识并不表示拥有技能;拥有技能并不表示拥有文化;拥有文化并不表示拥有智慧
渣浪:@CodewalkerDotMe
推特:@codewalkertse
博客:http://codewalker.me/
头像
pityonline
帖子: 3864
注册时间: 2008-12-09 12:44
来自: 北京
联系:

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

#7

帖子 pityonline » 2009-12-02 23:35

感谢楼主二位的讲解,学习了……
Pity is the bomp!
活着就是折腾!生命不息,折腾不止!
看这帮家伙在干什么?@pityonline/u
Dropbox+Vps+PC 跑起来了!这是邀请链接
xxxyyyttt
帖子: 9
注册时间: 2009-12-04 13:36

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

#8

帖子 xxxyyyttt » 2009-12-04 18:54

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"

还有顺便说下,能不跪还是尽量不要跪的好,有问题大家一起交流就是,论坛里很多人很愿意帮助新手的
我也是个新手
我想问一下 编好程序之后
在终端中究竟是输入什么命令行
最后如何执行的
谢了
头像
Jarson
帖子: 2371
注册时间: 2008-07-21 9:44
来自: 深圳
联系:

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

#9

帖子 Jarson » 2009-12-04 21:51

xxxyyyttt 写了:
我也是个新手
我想问一下 编好程序之后
在终端中究竟是输入什么命令行
最后如何执行的
谢了

代码: 全选

chmod 755 文件名
./文件名
/前面有一个 . 号,别漏了(假定程序在当前的工作目录下)
脚本语言程序一般都是通过命令解析器边解析边执行相应的操作的。对于bash脚本来说,程序其实就是一堆命令的逻辑组合。
tusooa
帖子: 6548
注册时间: 2008-10-31 22:12
系统: 践兔
联系:

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

#10

帖子 tusooa » 2009-12-09 21:02

代码: 全选

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

代码: 全选

] ls -ld //
aonowang
帖子: 1
注册时间: 2009-09-06 16:41

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

#11

帖子 aonowang » 2009-12-10 11:15

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
头像
bones7456
帖子: 8495
注册时间: 2006-04-12 20:05
来自: 杭州
联系:

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

#12

帖子 bones7456 » 2009-12-10 12:36

代码: 全选

echo "hello `whoami`, good `(( $( date +%k ) < 12 )) && echo morning || echo afternoon`"
关注我的blog: ε==3
头像
tenzu
论坛版主
帖子: 36924
注册时间: 2008-11-21 20:26

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

#13

帖子 tenzu » 2009-12-10 12:41

bones7456 写了:

代码: 全选

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