当前位置: 技术问答>linux和unix
Linux bash 脚本编程 写一个printnumber脚本文件 急急急!!!明天作业
来源: 互联网 发布时间:2016-10-04
本文导语: 写一个脚本文件printnumber,该脚本运行时带一个数值参数,参数可包含小数部分。具体要求如下: 1.如果命令行格式不符合要求,应有错误提示信息(比如输入的是非数字类型) 2.小数点前从个位起每三位作为一个字节...
写一个脚本文件printnumber,该脚本运行时带一个数值参数,参数可包含小数部分。具体要求如下:
1.如果命令行格式不符合要求,应有错误提示信息(比如输入的是非数字类型)
2.小数点前从个位起每三位作为一个字节,节与节之间用逗号隔开,如下:
$printnumber 1234567
1,234,567
$printnumber 1234.567
1,234.567
3.能够处理负数
$printnumber -1234.567
-1,234.567
1.如果命令行格式不符合要求,应有错误提示信息(比如输入的是非数字类型)
2.小数点前从个位起每三位作为一个字节,节与节之间用逗号隔开,如下:
$printnumber 1234567
1,234,567
$printnumber 1234.567
1,234.567
3.能够处理负数
$printnumber -1234.567
-1,234.567
|
前几天有人问过 http://topic.csdn.net/u/20100929/23/6a13a2f3-e9cf-4adf-bfc2-87615d3c3275.html
你看看 莫非你们是一个学校的?
我给的脚步没考虑负数 你自己思考一下改进一下
你看看 莫非你们是一个学校的?
我给的脚步没考虑负数 你自己思考一下改进一下
|
好像不行啊 小弟菜鸟 不懂...
结果是这样子:
[wxs@localhost myTest]$ ./printnumber
Usage:./printnumber number
[wxs@localhost myTest]$
------------------------------
你在回去看看你自己的要求 "该脚本运行时带一个数值参数,参数可包含小数部分"
那你运行的时候还不加参数????
./printnumber 1223.2343
结果是这样子:
[wxs@localhost myTest]$ ./printnumber
Usage:./printnumber number
[wxs@localhost myTest]$
------------------------------
你在回去看看你自己的要求 "该脚本运行时带一个数值参数,参数可包含小数部分"
那你运行的时候还不加参数????
./printnumber 1223.2343
|
算了 我还是加个判断负数的 你自己测试 有bug告诉我
#!/bin/sh
test $# -eq 1 || { echo "Usage:$0 number";exit 1; }
if echo $1 | egrep -q "^-{0,1}[0-9]+(.[0-9]+|)$"
then
echo "$1 is a number";
printf "%'fn" $1
else
echo "Usage:$0 number"
fi
|
结果是这样子:
[wxs@localhost myTest]$ ./printnumber
Usage:./printnumber number
----------------、
我已经给你提示消息了嘛 你自己也不看看
Usage:./printnumber number
翻译
用法:./printnumber 数字
[wxs@localhost myTest]$ ./printnumber
Usage:./printnumber number
----------------、
我已经给你提示消息了嘛 你自己也不看看
Usage:./printnumber number
翻译
用法:./printnumber 数字
|
小弟愚昧 刚刚接触Linux 我的题目是要求用bash写的脚本 sh是哪种脚本呢?
--------------
我在linux下就是bash /bin/sh是/bin/bash的链接!
你复制我4楼的代码好吗??
你自己写的写错了 根本就跟我的不一样
if那一句 我写的是
if echo $1 | egrep -q "^-{0,1}[0-9]+(.[0-9]+|)$"
你干嘛写成
if echo $1 | egrep -q "^[0-9]+(.[0-9]+|)&"
--------------
我在linux下就是bash /bin/sh是/bin/bash的链接!
你复制我4楼的代码好吗??
你自己写的写错了 根本就跟我的不一样
if那一句 我写的是
if echo $1 | egrep -q "^-{0,1}[0-9]+(.[0-9]+|)$"
你干嘛写成
if echo $1 | egrep -q "^[0-9]+(.[0-9]+|)&"
|
最主要的地方 就是if那句 我末尾是$符号 你给改成&符号!!
|
你可以跟他讨论嘛 改进改进
|
主席厉害,linux真是功能丰富
AIX平台的printf不支持'
AIX平台的printf不支持'
|
主席牛人,向主席学习。
|
用那种算余数以及求商的方法,用递归或循环实现行不行?哪位大虾教下。。。
|
主席威武
|
252640705
不过用到算法之类的东西 我就不懂了哦 我很笨的