偶遇bash 的while read line 的问题】的更多相关文章

自己开发的过程中,我从数据库里读出来一个值,写入某个临时文件,再让脚本做 cat tmp.log |while read line  的时候 readline每次都是少一行, 最后发现,是换行符的问题   从数据库读出的是纯字符,没有换行,需要手动添加一个"\n"  问题解决…
#read one file line by line for line in $(cat test1.txt); do echo $line ; done; #while read split line by space while read line do for word in $line do echo $word done; done <test1.txt #string split or substring input=type=abcdefg echo $input; #get a…
原文链接:http://hi.baidu.com/meoow/item/aef5814bbd5be3e1bcf451e9 这是我根据百度云PCS的API写的一个基于bash的命令行工具, 使用了curl, awk, sed, xxd, bash,没有使用任何其他的语言解释器做辅助 目前,上传下载,文件列表,文件信息,创建文件夹,删除文件都没问题 复制和移动总是返回参数错误,实在找不出来哪里跟API不一致了,暂时放弃. 另外离线下载相关的API也都添加了,但是因为现在百度云不能申请,我是用的是by…
转自:https://www.linuxjournal.com/content/return-values-bash-functions Bash functions, unlike functions in most programming languages do not allow you to return a value to the caller. When a bash function ends its return value is its status: zero for s…
echo "This is line $LINENO"返回行号 LINENO 变量LINENO返回它在脚本里面的行号. #!/bin/bash echo "This is line $LINENO" 执行上面的脚本test.sh,$LINENO会返回3. $ ./test.sh This is line 3 BASH_SOURCE 变量BASH_SOURCE返回一个数组,内容是当前的脚本调用堆栈.该数组的0号成员是当前执行的脚本,1号成员是调用当前脚本的脚本,以此类…
1. 字符串如何大小写转换 str="This is a Bash Shell script." 1> tr方式 newstr=`tr '[A-Z]' '[a-z]' <<<"$str"`或者 newstr=$(echo $str |tr '[a-z]' '[A-Z]') 2> typeset typeset -u VARIABLE (把VARIABLE的小写转换成大写) typeset -l VARIABLE (把VARIABLE的大…
The control of users and groups is a core element of Fedora system administration. This chapter explains how to add, manage, and delete users and groups in the graphical user interface and on the command line, and covers advanced topics, such as crea…
1.读取参数:位置参数变量是标准的数字: $0是程序名, $1是第一个参数, $2是第二个参数... #!/bin/bash # using one command line parameter factorial= ; number <= $; number++ )) do factorial=$[ $factorial * $number ] done is $factorial 执行: # ./test1. The factorial of is 2.输入多个命令行选项,则在命令行上每个参…
本文地址:http://www.cnblogs.com/yhLinux/p/4012689.html 本文适合新手入门. 本文是对 Ubuntu 12.04 环境下安装 MySQL 的记录,通过这两天的折腾,不断试错,才发现要完整地掌握 MySQL 安装其实并不复杂,关键是遇到问题时记住到官方文档寻找解决方案,在网络上搜索的网友的方法不一定适合你,而官方文档是比较全面的,建议大家有问题多看看. 安装MySQL的方法有多种方式,包括源码安装,包管理器安装,二进制安装等.之前,我使用最快的方式——包…
catalog . windows Security and Protection(Logon and Authentication) . windows密码强制安全策略 . PAM(Pluggable Authentication Modules) . linux密码强制安全策略配置 1. windows Security and Protection(Logon and Authentication) This page lists resources for logon and authe…
4.控制流结构    4.1.控制结构            4.2.if then else语句        格式: if 条件1 //如果条件1为真 then 命令1 //那么,执行命令1 elif 条件2 //如果条件1不成立,而条件成立 then 命令2 //那么,执行命令2 ……更多的elif then组合…… else 命令2 //如果条件1.2……都不成立,那么执行命令3 fi //完成,if语句必须以单词fi终止 最简可以是形式: if 条件 then 命令 fi 等价于 if…
由于项目要招聘需要有经验shell开发人员(awk编程),而作为技术面试官(暂时)的我对shell编程不太熟:当然以前也写过一些shell脚本来满足项目的需求—备份环境,数据库(逻辑).假如只是针对awk编程的,那我绝对可以问倒他,呵呵….所以我最近学习了shell编程.入门还不是很深,但是还是有点心得的.以下是本人的一些心得:大伙们觉得好,就拍个砖,不好也拿起你们的手鼓个掌…当然文中有什么错误,遗漏的也请指正我,大伙们对shell的总结也可以在下面回复. 1.   shell之read命令 1…
参考资料为:linux shell脚本攻略 作者sarath Lakshman 人民邮电出版社 shell:读取文件的每一行内容并输出 的写法1 目的:读取passwd文件,获得用户名和其默认的shell,并打印出来 首先cp /etc/passwd ./passwd_cpshell脚本get_usr_shell.sh内容如下: #!/bin/bash function get_line_usr_shell(){ # echo $# line="$1" oldIFS=$IFS IFS=…
写在前面:案例.常用.归类.解释说明.(By Jim) 命令行参数$1为第一个参数,$2为第二个参数,依次类推...示例: #!/bin/bash # using one command line parameter factorial= ;number<=$;number++)) do factorial=$[ $factorial*$number ] done echo The factorial is $factorial 调用./test1 5(这样就把参数传递进去了)结果:The fa…
1.Linux Shell入门 Quiz 1 一个接受命令行参数的shell脚本 任务 编写一个shell脚本1.sh,这个脚本接受一个命令行参数,并把这个参数打印两次到标准输出. 如果输入没有参数输入或者有多于一个参数输入,输出"error". if [ $# != 1 ] ; then echo "error" else echo $1$1 fi Quiz 2 生成时间相关文件夹 任务 编写一个shell脚本2.sh,无论脚本在任何位置用绝对路径执行都能完成这样…
著作权归作者所有. 商业转载请联系作者获得授权,非商业转载请注明出处. 作者:孙立伟 链接:http://www.zhihu.com/question/20140085/answer/14107336 来源:知乎 这个问题quora上有人提过 What are some lesser known but useful Unix commands? ,已经有不少答案了,我个人已经从这些答案中学到不少,这里我只是照搬过来,然后加上自己的解释. lsof: 列出所有打开的文件.举例:'lsof -p…
Shell script fails: Syntax error: “(” unexpected google 一下. http://unix.stackexchange.com/questions/45781/shell-script-fails-syntax-error-unexpected The script does not begin with a shebang line, so the kernel executes it with /bin/sh. On Ubuntu, /bi…
转自:http://blog.chinaunix.net/uid-10540984-id-2942041.html 文件: 1234567 abcdefg ......   现在想要随机抽取5列组成下面的内容,允许重复: 36612 cffab ......      awk -F '' 'BEGIN{srand();for(i=1;i<=5;i++)a[i]=int(rand()*100%7+1)}{for(i=1;i<=5;i++)printf $a[i];printf RS}' file…
在linux服务器使用过程中,由于linux对内存的使用原则是能cache就尽量cache,所以会出现pagecache占用很多的情况. suse的版本有一个pagecachelimit的功能,centos中没有看到.即便是将这个功能合入到centos中,也会发现设置了没效果的情况. cat /proc/sys/vm/pagecache_limit_mb 1.将0改为对应的值,比如说12000,限制为120G,我们来看对应的内核中算法为什么没有生效, page cache总数 > 8*free_…
使用的gitlab是用docker启动的,数据目录的owner/group信息被意外全部更改成了root:root导致服务不可用.最终通过复原文件所有者的方式恢复了服务. 步骤如下: 1. 打包备份gitlab所有的数据目录(我们的是/data/gitlab/data;/data/gitlab/config;/data/gitlab/logs),并清空目录下的所有文件: 2.   删除gitlab-ce容器,重新从docker镜像启动一个新的gitlab-ce容器,让它生成新的文件,以备后续修正…
#!/bin/bash #filename:ifs.sh data="name,sex,rollon,location" oldIFS=$IFS IFS=, for item in $data; do echo Item: $item done #IFS=$oldIFS 设置IFS为,号分隔符 #!/bin/bash #filename:fenge.sh line="root:x:0:0:root:/root:bin/bash" oldIFS=$IFS IFS=&q…
参考文章:https://blog.csdn.net/weixin_35852328/article/details/79327996 官网:https://azkaban.readthedocs.io/en/latest/ Azkaban是由Linkedin开源的一个批量工作流任务调度器.用于在一个工作流内以一个特定的顺序运行一组工作和流程.Azkaban定义了一种KV文件格式来建立任务之间的依赖关系,并提供一个易于使用的web用户界面维护和跟踪你的工作流.它有如下功能特点:Web用户界面,方…
数组 声明数组 declare -a ARRAY_NAME declare -A ARRAY_NAME: 关联数组 注意:两者不可相互转换 数组名和下标(索引) 索引:编号从0开始,属于数值索引 注意:索引可支持使用自定义的格式,而不仅是数值格式,即为关联索引, bash4.0版本之后开始支持 bash的数组支持稀疏格式(索引不连续) 数组赋值 (1) 一次只赋值一个元素 ARRAY_NAME[INDEX]=VALUE  weekdays[0]="Sunday"  weekdays[4…
示例一.(用作注释,占位)#!/bin/bash : this is single line comment : 'this is a multiline comment, second line end of comments' " ]; then echo "yes" else : fi 示例二 清空文件 [root@node56 ~]# cat <<<"Hello" >123.txt [root@node56 ~]# cat…
Linux中有一个管道的概念,常用来流式的处理文本内容,比如一个文件对其中的每一行应用好几个操作,出于两个方面的考虑可能需要在管道中使用用户定义函数: 1. 刚需: 内置的sed/awk之类的可能没法满足我们的需求,只能使用用户定义函数 2. 代码质量: 如果是流式操作很多很长,那么可能就需要将其进行拆分,将相关的部分封装为一个函数,然后流式调用函数,这样程序的可读性更好,也更容易维护 在管道中上一个程序的标准输出会被放到下一个程序的标准输入,处在管道中的程序需要做的就是读取标准输入中的东西进行…
Linux.mac的命令行下没有回收站功能,很多时候手一抖就把重要文件给 rm -fr * 了,虽然linux下有可能通过lost +found/debugfs找回,但难度也比较大,不能保证一定能够找回.人总是会犯错,本人工作这几年也犯过3次rm -fr删除后后悔的错误,与其后悔不如防范于未然,像桌面操作系统(windows.mac os.Ubuntu)一样加个回收站机制就可以了,经过几天的努力终于实现了,放到github上了,欢迎使用. 源码地址:https://github.com/LaiJ…
最新在看一个shell资料时,按照教材,却出现如下错误,不能运行 如下,简单的脚本: #!/bin/bash cat |while read line do echo $line done < <(data.txt|awk '{print $0}') 运行时,却出现如下错误 [root@localhost shellcookbook]# sh while_test.sh while_test.: syntax error near unexpected token `<' while_t…
基本用法     read命令主要用于从标准输入读取内容或从文件中读取内容,并把信息保存到变量中.其常用用法如下所示: read [选项] [文件] 选项 解释 -a array 将内容读取到数值中,变量默认为数组且以空格做为分割符 -d delimiter 遇到指定的字符即停止读取 -n nchars 指定最多可以读入的字符数,即定义输入文本的长度 -r 屏蔽转义符 -p prompt 显示提示信息 -s 静默模式,在输入字符时不在终端中显示,常用于密码输入等 -t timeout 指定超时时…
转: http://tech.meituan.com/mt-apk-packaging.html 美团Android自动化之旅—生成渠道包 zhihu2014-06-13 10:06 概述 每当发新版本时,美团团购Android客户端会被分发到各个应用市场,比如豌豆荚,360手机助手等.为了统计这些市场的效果(活跃数,下单数等),需要有一种方法来唯一标识它们. 团购客户端目前通过渠道号(channel)来区分不同的市场,代码中使用Config.channel变量记录该渠道号.比如,豌豆荚市场中美…
当我们通过windows连接服务器时,大多数用的是ssh客户端软件,推荐使用ssh,安全系数比较高.下面介绍用telnet连接服务器. 客户端:C:\Users\dell>systeminfo主机名:           BOHAOOS 名称:          Microsoft Windows 10 家庭中文版OS 版本:          10.0.10240 OS 制造商:        Microsoft CorporationOS 配置:          独立工作站OS 构件类型:…