免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: gxyyq
打印 上一主题 下一主题

[学习共享] 整理了几道Shell编程实例,针对新手! [复制链接]

论坛徽章:
0
21 [报告]
发表于 2014-04-11 14:48 |只看该作者
回复 13# 关阴月飞
要考虑一下今年生日已过的问题,呵


   

论坛徽章:
0
22 [报告]
发表于 2014-04-11 14:50 |只看该作者
都是大神。基本没看懂!~

论坛徽章:
39
辰龙
日期:2013-08-21 15:45:192015亚冠之广州富力
日期:2015-05-12 16:34:52亥猪
日期:2015-03-03 17:22:00申猴
日期:2015-03-03 17:21:37未羊
日期:2014-10-10 13:45:41戌狗
日期:2014-06-17 09:53:29巨蟹座
日期:2014-06-12 23:17:17双鱼座
日期:2014-06-10 12:42:44寅虎
日期:2014-06-09 12:52:172015亚冠之卡尔希纳萨夫
日期:2015-05-24 15:24:35黄金圣斗士
日期:2015-12-02 17:25:0815-16赛季CBA联赛之吉林
日期:2017-06-24 16:43:52
23 [报告]
发表于 2014-04-11 15:46 |只看该作者
回复 21# 莫侠007

生日已过得到的结果就是负数

   

论坛徽章:
0
24 [报告]
发表于 2014-04-11 16:05 |只看该作者
回复 23# 关阴月飞
不单是负数吧 天数也不对的


   

论坛徽章:
1
2015年迎新春徽章
日期:2015-03-04 09:58:11
25 [报告]
发表于 2014-04-11 16:28 |只看该作者
本帖最后由 这个冬天不冷 于 2014-04-11 16:29 编辑

bash版本太多了,php也可以当作脚本写
  1. <?php
  2. function yi(){
  3.         $path = "/home/syh/";
  4.         for($i=1;$i<=100;$i++){
  5.                 mkdir($path . "a" . $i, 0777);
  6.         }
  7. }

  8. function er()
  9. {
  10.         die("太麻烦\n");
  11. }

  12. function san()
  13. {
  14.         $file = "/etc/passwd";
  15.         $fp = fopen($file, "r");
  16.         while(!feof($fp)){
  17.                 $tmp = fgets($fp);
  18.                 $arr = explode(":", $tmp);
  19.                 if(is_array($arr) && isset($arr[0]) && strlen($arr[0])){
  20.                         echo "the 1 account is " . $arr[0] ."\n";
  21.                 }
  22.         }
  23. }

  24. function si(){
  25.         die("太麻烦\n");
  26. }

  27. function wu(){
  28.         $stdin = fopen('php://stdin', 'r');
  29.         $nums = fgets($stdin);
  30.         $arr_nums = explode(" ", $nums);
  31.         sort($arr_nums);
  32.         echo $arr_nums[0], "\t", $arr_nums[count($arr_nums)-1], "\n";

  33. }

  34. function liu(){
  35.         $stdin = fopen('php://stdin', 'r');
  36.         $num = intval(fgets($stdin));
  37.         if($num<1){
  38.                 die("taixiao\n");
  39.         }
  40.         for($i=1; $i<=$num; $i++){
  41.                 for($j=1; $j<=$i;$j++){
  42.                           echo $j.'×'.$i.'='.$i*$j, "\t";
  43.                 }
  44.                 echo "\n";
  45.         }
  46. }
  47. function qi()
  48. {
  49.         $stdin = fopen('php://stdin', 'r');
  50.         $date = fgets($stdin);
  51.         $time = strtotime($date);
  52.         $now = time();
  53.         $t = $time - $now;
  54.         if( $t < 0){
  55.                 echo "生日已经过了";die();
  56.         }
  57.         echo "你的生日还剩", intval(intval($t)/86400), "天",intval(intval($t)%86400/3600),"个小时";
  58. }
  59. //just like this 调用
  60. qi();
复制代码
@reb00t


我真是闲的无聊了。。。。。

论坛徽章:
14
15-16赛季CBA联赛之辽宁
日期:2019-06-16 15:47:3515-16赛季CBA联赛之广夏
日期:2016-08-13 21:24:352015亚冠之武里南联
日期:2015-07-07 17:37:372015亚冠之萨济拖拉机
日期:2015-07-06 17:07:482015亚冠之全北现代
日期:2015-06-04 13:54:272015亚冠之城南
日期:2015-05-21 15:43:212015年亚洲杯之伊朗
日期:2015-04-25 18:20:362015年亚洲杯之伊朗
日期:2015-04-20 16:06:052015年亚洲杯之科威特
日期:2015-03-07 12:51:26丑牛
日期:2014-12-30 10:26:38申猴
日期:2014-09-28 22:40:18金牛座
日期:2014-09-13 21:12:22
26 [报告]
发表于 2014-04-11 19:03 |只看该作者
回复 25# 这个冬天不冷


    大神威武。。学习了。

论坛徽章:
0
27 [报告]
发表于 2014-04-11 23:28 |只看该作者
回复 1# gxyyq


    第5题让我想起了sleepsort算法,随手一贴
#!/bin/bash
function f() {
    sleep "$1"
    echo "$1"
}
while [ -n "$1" ]
do
    f "$1" &
    shift
done

论坛徽章:
0
28 [报告]
发表于 2014-04-12 12:53 |只看该作者
感觉第一题用mkdir a{1..100}更简单。

论坛徽章:
14
15-16赛季CBA联赛之辽宁
日期:2019-06-16 15:47:3515-16赛季CBA联赛之广夏
日期:2016-08-13 21:24:352015亚冠之武里南联
日期:2015-07-07 17:37:372015亚冠之萨济拖拉机
日期:2015-07-06 17:07:482015亚冠之全北现代
日期:2015-06-04 13:54:272015亚冠之城南
日期:2015-05-21 15:43:212015年亚洲杯之伊朗
日期:2015-04-25 18:20:362015年亚洲杯之伊朗
日期:2015-04-20 16:06:052015年亚洲杯之科威特
日期:2015-03-07 12:51:26丑牛
日期:2014-12-30 10:26:38申猴
日期:2014-09-28 22:40:18金牛座
日期:2014-09-13 21:12:22
29 [报告]
发表于 2014-04-12 15:50 |只看该作者
在学php,献丑了
  1. <?php

  2. //定义比较大小写函数

  3. function mysort(){
  4.    $num = func_num_args();

  5.    //得到所有参数的值
  6.    $arr = func_get_args();


  7.    //冒泡法排序

  8.    for($i=0;$i<$num;$i++){

  9.       for($j=$i+1;$j<$num;$j++){

  10.                   if($arr[$i]>$arr[$j]){

  11.                            $tmp=$arr[$i];
  12.                            $arr[$i]=$arr[$j];
  13.                            $arr[$j]=$tmp;
  14.                   }


  15.       }

  16.          
  17.    }


  18. return $arr;

  19. }

  20. $new_arr=mysort(12,34,1,5,90);

  21. //var_dump($new_arr)
  22. echo "$new_arr[0]<br />";
  23. $l=strlen($new_arr)-1;
  24. echo "$new_arr[$l]<br />";




  25. ?>
复制代码

论坛徽章:
0
30 [报告]
发表于 2014-04-12 17:30 |只看该作者
好多大神,新手来参合参合
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP