1. 概述

  1. for 循环读取文件内容时, 输出被打得稀碎

2. 场景

  1. 需求

    1. 读入文件
    2. 逐行显示
  2. 源文件

    Continuous Delivery with Docker and Jenkins
    Jenkins 2 Up and Running
    Jenkins 2.x Continuous Integration Cookbook(3rd)
    Jenkins Fundamentals
  3. 脚本

    #!/bin/bash
    
    for line in `cat ${1}`
    do
    echo ${line}
    done
  4. 问题

    1. 输出的结果, 是这样的

      Continuous
      Delivery
      with
      Docker
      and
      Jenkins
      Jenkins
      2
      Up
      and
      Running
      Jenkins
      2.x
      Continuous
      Integration
      Cookbook(3rd)
      Jenkins
      Fundamentals

3. 解决

  1. 原因

    1. 输出前, 需要制定 ifs
  2. ifs

    1. linux 的环境变量
  3. 最终脚本

    #!/bin/bash
    
    OLD_IFS=${IFS}
    IFS="" for line in `cat ${1}`
    do
    echo ${line}
    done IFS=${OLD_IFS}

4. 其他

  1. ref

    1. SHELL 读取文件的每一行内容并输出

      1. 用 while 输出, 貌似就没有这个问题...
    2. Shell中IFS用法
  2. 疑问

    1. IFS 这玩意到底是什么鬼
    2. ${1} 是 bash 脚本的参数, 如果说, 脚本里有了 awk 命令, 需要引用 $1, 到底是哪个为准呢?

Linux - bash - 小坑: IFS的更多相关文章

  1. linux日常小坑

    一.权限 1.文件权限 改动文件权限和所有权的命令有如下两个: chmod -更改权限 chown -更改所有权 不过,只有用户是当前所有者或者根用户,才能实际更改文件的权限或所有权,这一点大家要注意 ...

  2. [转帖]linux bash环境变量简单总结

    linux bash环境变量简单总结 来源链接:http://www.178linux.com/8005 原创文章,如有转载,请注明原文地址 需要简单学习一下. 其实 我都是直接放一个 .sh文件到 ...

  3. Linux通用小技能

    Linux通用小技能 前言 无论你用ubuntu还是centos,通通没问题,运维这东西,踩坑写文档就是了. 小技能 新磁盘挂载 不管是阿里云还是腾讯云,还是自己的机器,请记住这条命令. mkfs.e ...

  4. Linux Bash命令关于程序调试详解

    转载:http://os.51cto.com/art/201006/207230.htm 参考:<Linux shell 脚本攻略>Page22-23 Linux bash程序在程序员的使 ...

  5. mciSendString 的两个小坑

    刚刚修正了自己用的小闹钟的代码. 坑1:REPEAT 选项的作用范围 原来用得好好的,之后选择 .wav 文件,居然不出声音了…… 诶,MCI 肯定支持 .wav 的啊…… 仔细想想,我以前都是选 . ...

  6. 注意Android里TextView控件的一个小坑,用android:theme来设置样式时动态载入的layout会丢失该样式

    注意Android里TextView控件的一个小坑,用android:theme来设置样式时动态载入的layout会丢失该样式 这个坑,必须要注意呀, 比如在用ListView的时候,如果在List_ ...

  7. 转: windows 10使用原生linux bash命令行

    转: https://www.zybuluo.com/pandait/note/337430 windows 10使用原生linux bash命令行 linux bash windows-10 第一时 ...

  8. C#中的Infinity有个小坑

    (此文章同时发表在本人微信公众号"dotNET每日精华文章",欢迎右边二维码来关注.) 昨天家里有事,上网也不方便,就没有推送文章.今天很累,也不长篇大论了.简单介绍一下最近遇到的 ...

  9. Linux Bash代码 利用for循环实现命令的多次执行

    Linux Bash代码 [yuanhao15@lu01 libsvm-rank-2.81]$ for ((i=0; i<=19; i++)) do ./svm-train -s 5 -c 10 ...

随机推荐

  1. 多线程启动selenium,报NameError: name '__file__' is not defined

    将__file__加上单引号就解决了:   # 获取当前文件名,用于创建模型及结果文件的目录   file_name = os.path.basename('__file__').split('.') ...

  2. hzq84621巨佬的语录

    摘自诸中培训讲图论时: 1.光图论考不出什么东西,一般作为DP的附庸出现. 2.如果不是骗骗不承认SPFA的外国人,一般能用dij就用dij. 3.那个东西(指bellman-ford)除了判负环没什 ...

  3. 巨杉数据库入选年度Gartner Peer Insights报告,获得市场高度评价

    Gartner Peer Insights 年度评选结果于近日出炉,在数据库管理系统市场报告中,巨杉数据库获得了总平均分4.7(满分5分)的成绩,在众多国际厂商中位居第三,是国内唯一一家入选的数据库厂 ...

  4. shell脚本编程学习笔记(一)

    一.脚本格式 vim shell.sh #!/bin/bash //声明脚本解释器,这个‘#’号不是注释,其余是注释 #Program: //程序内容说明 #History: //时间和作者 二.sh ...

  5. 服务器上搭建使用SSH账户登录的Git仓库

    1.安装git yum install -y git 2.创建git仓库保存的目录 mkdir /data/git_repo 3.初始化空仓库 cd /data/git_repogit init -- ...

  6. python,装饰器带参数,原理

    import time # 函数装饰器传参 def zhuang1(hao): def zhuang2(func1): def funczhuang(*args, **kw): print(time. ...

  7. 【转载】Hadoop生态上几个技术的关系与区别:hive、pig、hbase 关系与区别

    转自:http://www.linuxidc.com/Linux/2014-03/98978.htm Pig 一种操作hadoop的轻量级脚本语言,最初又雅虎公司推出,不过现在正在走下坡路了.当初雅虎 ...

  8. Codeforces Round #570 (Div. 3) B. Equalize Prices

    原文链接https://codeforces.com/contest/1183/problem/B 题意:进行Q组测试,在每组中有长度为n的数组a[i],然后现在给你一个K,问你找到一个bi使得|ai ...

  9. android 代码设置图标背景色(圆形图标)和图标颜色

    原图: 1.改变图标颜色: mImageView.setColorFilter(Color.parseColor("#ff0000")); 效果: 2.改变图标背景色(主要是圆形图 ...

  10. Css3 里的弹性盒的比例关系

    前两天朋友出去面试遇到了尴尬的问题,原题是:"在一个盒子里包裹着三个子元素,让子元素的宽度以1:1.1:2.1:3的关系依次展示" 这就尴尬了啊.................. ...