shell脚本换行(shell脚本换行拼接)
时间:2023-04-05阅读:29来源:柠檬博客作者:柠檬博客
shell脚本,遇到换行时候执行错误
在ubuntu上执行sh脚本时出现 $’\r’:command not found
一脸懵逼。。。然后仔细检查脚本,对应行位置只是一个空行
最后各种查询才发现原因,脚本是我在window上编辑的,然后在ubuntu上运行的。。。嗯,所以出现了问题,,,
window下的换行是回车符+换行符,也就是\r ,而unix下是换行符 。ubuntu下不识别\r为回车符,所以导致每行的配置都多了个\r,因此是脚本编码的问题。
在ubuntu上执行sudo dos2unix? you_shell_name.sh,转换脚本格式,然后,
再次执行脚本,报错消失。
感谢:
Shell脚本处理文本换行问题
使用一个sed命令即可:
解释:
/import/ { ? 如果某行找到import ? 则执行后面大括号中的内容
:go; ?设置一个标签
//import/!{ ? ?查找/import ? 如果没找到则执行大括号中的内容
N; ? ?――再读取一行追加到模式空间
bgo;}} ――跳转到go标签
上面会循环一直将 ?从import 开始 ?到/import 结束的各行读到入模式空间
s/ //g; ?――删除模式空间中所有的换行符
p――打印模式空间内容,即将跨行的import变成1行。
shell 脚本命令太长,如何换行?
行尾加\
表示下一行和这一行是一个命令行,后面不能有注释、空格。
shell脚本可以换行么
可以,一般情况下是自动换行,如果用户手动的话输入\后可以换行继续一条命令
linux shell脚本换行问题
\不是换行,而是续行,就是说一行写不下了,下一行继续,而不是一个命令的结束
你说报java: command not found,跟\没有关系,错误的原因:
你没有装java
path没有设对,echo $PATH看一下java的执行文件在不在其中的一个目录,没有,加之
29人参与,
0条评论
登录后显示评论回复