/etc/shells [root@localhost ~]# more /etc/shells /bin/sh /bin/bash /sbin/nologin /usr/bin/sh /usr/bin/bash /usr/sbin/nologin /bin/tcsh /bin/csh echo -e 相关转义符 \\ 输入\ \a 输出警告音 \b 退格,即向左删除一个字符 \c 取消输出行末的换行符,和-n选项一致 \e Esc \f 换页符 \n 换行 \r 回车 \t 制表,即Tab \…
shell脚本中,不能随意添加空格,否则出错: 1,=等号两边必须无空格.否则出错.如i =$1和i= $1都是错的.但是在()内部不限制如for ((i= 1;i < 3;i= i+1))是正确的. 2,(())内外部括号之间无空格,( () )这样报错.但内部括号内不限制,随便如s=$(( $i+1 ))可以 3,[]是条件判断式,所以前后内部都必须空格.其内部元素之间必须有空格才能识别,否则一律报错,如"while [ $i -lt 6 ]"少一个空格都报错.总之,[]所在…
错误: /bin/bash^M: bad interpreter: 没有那个文件或目录 解决方案: 运行脚本时出现了这样一个错误,打开之后并没有找到所谓的^M,查了之后才知道原来是文件格式的问题,也就是linux和windows之间的不完全兼容...具体细节不管,如果验证: vim test.sh:set ff?如果出现fileforma=dos那么就基本可以确定是这个问题了.:set fileformat=unix:wq!…
问题描述: 今天需要修改一些bash脚本,因为考虑到pycharm里面能够直接写,而我用pycharm比较多,所以直接用pycharm写了,由于改的那个bash脚本是别的同事写的,里面的缩进都是用的Tab制表符,我直接复制了过来,导致脚本里面出现了空格和Tab混用的结果,一度报错(我的pycharm设置的是4空格代替Tab的),瞅了半天也没瞅出问题来,后来同事提醒了一下,让我把Tab都替换成4空格. 但是问题来了,几百行的bash,一个个的手工去删去替换...有点累,故选择了好用的工具notep…
shell脚本兼容linux/unix与windows/cygwin的基础 :统一文本格式为:unix文本格式,即于LF为换行符(推荐方案) 在notepad上设置:编辑->档案格式转换->转换为UNIX格式 另外我觉得在自己使用的编辑器上显示回车.换行符也许是个好的习惯吧   有关于回车,换行的故事:转送门在这里,猛击吧!http://blog.sciencenet.cn/blog-948919-697160.html   关于回车换行问题,我的”痛苦“经历(传递的字符串参数有\r字符)  …
背景:现有日志接入日志报表大盘,为了避免作业高峰期间(双十一),系统也要观测系统整体情况,因此提出了观测近五分钟,接口成功率以及耗时等工具(默认统计最近五分钟,并进行结果汇总统计) 使用说明 前提:pgm免登陆配置好,生成ssh公钥 如果配置不成功通过修改该脚本 pgm 后面加入 -A 输入密码 命令执行后,trace.log中实时看捞取数据 结果保存在 result.log中 命令后台运行 执行成功后会 提示 commplete see trace.log or result.log 默认执行…
shell脚本如何方便地处理JSON格式的数据呢,这里介绍一个工具:jq 使用参数介绍:https://stedolan.github.io/jq/manual/ 官方教程简单翻译如下. 1.获取JSON数据 我们以github上jq项目最新5条评论的JSON数据为例.获取数据如下: curl 'https://api.github.com/repos/stedolan/jq/commits?per_page=5' 结果如下: [ { "sha": "d25341478381…
[脚本1]打印形状打印等腰三角形.直角三角形.倒直角三角形.菱形 #!/bin/bash # 等腰三角形 read -p "Please input the length: " n $n` do for ((j=$n;j>i;j--)) do echo -n " " done $i` do echo -n "* " done echo done # 倒直角三角形 read -p "Please input the length:…
本文用于记录学习和日常中使用过的shell脚本 [脚本1]打印形状 打印等腰三角形.直角三角形.倒直角三角形.菱形 #!/bin/bash # 等腰三角形 read -p "Please input the length: " n for i in `seq 1 $n` do for ((j=$n;j>i;j--)) do echo -n " " done for m in `seq 1 $i` do echo -n "* " done e…
shell脚本是UNIX格式,在修改其中内容时,务必保持UNIX格式.UE编辑器打开时,会询问是否转为DOS格式,请点否.如果修改完成后,不能确认是否为DOS格式,可以使用UE文件菜单下的Conversions转换为UNIX格式. 在Linux下可以是用“cat –A filename”来查看某个文件中的隐含字符,UNIX格式的话,每行结尾是 “$”符号,而DOS格式则是 “^M”符号.在Solaris下,cat命令不支持-A选项,可以使用vi打开,DOS格式的话,每行结尾有“^M”符号,UNI…