shell脚本常见错误一二三】的更多相关文章

1.$'\r': 未找到命令的解决 2.: 不是有效的标识符h: 3.cd "$path"/webapps/ROOT 不能正常进入ROOT文件夹,$path并未与后面的字符结合起来 引起shell脚本无法正常执行的原因是文件格式与linux下要求的格式不符合,文件格式常用的有两种:PC和Unix/Mac OS X,Linux系统下一定要采用后一种 ,不然很多情况下都会出现异常. 一定要选择UNIX格式,不然会报莫名其妙的异常. [一位十年码农的碎碎念,扫码关注获取更多精彩内容]…
一.引言 想要学习使用shell脚本,却在开始的时候遇到很多不顺利,都是一些小细节的东西,所以在此记录一下. 二.各种细节问题 1.变量作为赋值对象时不需要添加$,取值时需要,也就是说,这个$就是取值符号: i=`` 2.等号的两边不能有空格: ` 3.重定向符号的使用:<.>.>>.2>.2>>.&>.&>>分别代表的含义.…
常常在windows下编辑的文件远程传送到linux下的时候每行末尾都会出现^M.这将导致shell脚本执行错误,主要是由于dos下的编辑器和linux下的编辑器对文件末行的回车符处理不一致导致. 主要解决例如以下: (1)在VI编辑器中将^M删除: 将VI编辑器切换到命令模式下,输入 :%s/^M//g (注意^M 不是shift ^ +M 而是ctrl+v 加上ctrl+m)  s///g是shell的替换命令 此命令必须是手动打上,不可复制. (2)dos2unix 命令 dos2unix…
shell脚本执行错误 $'\r':command not found Linux下有命令dos2unix 可以用一下命令测试 vi -b filename 我们只要输入dos2unix *.sh就可以完成转换工作了 如果命令不存在的话就用如下命令安装 yum install dos2unix -y…
Blog:博客园 个人 译自BashPitfalls 本文总结了编写Shell脚本中的常见错误. for f in $(ls *.mp3) 最常犯的错之一就是编写这样的循环: for f in $(ls *.mp3); do # Wrong! some command $f # Wrong! done for f in $(ls) # Wrong! for f in `ls` # Wrong! for f in $(find . -type f) # Wrong! for f in `find…
Jdk版本:jdk-8u102-linux-x64 Tomcat版本:apache-tomcat-7.0.92 Redis版本:redis-5.0.0 由于公司项目的需要,要在多台服务器上面部署一些应用,一个个来部署实在太麻烦了,所以就想到了用脚本部署,然后一点一点的记下来,好记性不如烂笔头 一.jdk脚本的编写 废话不多说,直接上脚本 #!/bin/bashdirectory="/tests/test"jdkname=$directory/jdk-8u181-linux-x64.ta…
今天执行脚本的时候遇到错误,如下图: root@ApFree:/usr/sbin# ./conntrack_num_graph.sh ./conntrack_num_graph.sh: line : syntax error: unexpected "then" (expecting "}") root@ApFree:/usr/sbin# 我就纳闷了,这个脚本几天前是能正常执行的,今天执行怎么会出错,why? cat脚本一看如下: #!/bin/sh SITENAM…
在 windows 下,换行符是 \r\n,在linux下,换行符是 \n.如果你在IDEA里写sh脚本,可以手动设置脚本的换行符为 \n,如果你用notepad++写脚本,可以显示所有字符,以便明确知道换行答到底是什么.不过还是建议在Linux环境下写脚本并验证,注意在windows环境下,换行符问题很容易被覆盖为 \r\n 也可以在vi或者vim 下执行:set ff=unix改变文件属性…
执行.sh脚本时控制台报错 : #!/bin/bash: No such file or directory 解决办法: cat -A 文件路径 会发现第一行有问题 M-oM-;M-?#!/bin/bash$ #----------------------------------$ #$ # M-eM-^PM-/M-eM-^JM-(M-hM-^DM-^ZM-fM-^\M-,;$ #$ #----------------------------------$ phpscriptDir=/Data/…
if-then if command then command fi if-then-else if command then command else command fi 嵌套if if command then command elif command then command elif command then command else command fi 复合条件测试 [ condition1 ] && [ condition2 ] 两者同时满足 [ condition1 ]…