Shell编程常见报错(一)

在这里插入图片描述
编写Shell遇到syntax error near unexpected token `$’do\r”

由于该脚本文件是在windows环境下创建编辑的,其默认是将所有的回车变成:CR加上 LF,而Linux/Unix中的回车只是LF.所以导致解释器不认.出现此错误。
**解决办法:**将所有的CRLF转换为LF即可。
通俗一点讲就是win系统的回车和linux的回车不一样 要想正常在linux上正常运行脚本 就需要做一下转换就行

网上方法很多

博主这里主要介绍的是dos2unix

dos2unix是将Windows格式文件转换为Unix、Linux格式的实用命令

用法如下

dos2unix [-hkqV] [-c convmode] [-o file ...] [-n infile outfile ...]


选项与参数:

-k :保留该文件原本的 mtime 时间格式 (不更新文件上次内容经过修订的时间)

-n :保留原本的旧档,将转换后的内容输出到新文件,如: dos2unix -n old new


这里选项参数只列出两个,详细参数可参考网上介绍

我们在文件目录下进行转换


dos2unix  -k  addacount.sh

在这里插入图片描述
在这里插入图片描述
博主这里的脚本是批量创建账号的小脚本,学习测试用的,这里贴出来给小伙伴看看


#!/bin/bash
groupadd myquotagrp
for username in myquota1 myquota2 myquota3 myquota4 myquota5
do
    useradd -g myquotagrp ${username}
    echo "password" | passwd --stdin ${username}
done
mkdir /home/myquota
chgrp myquotagrp /home/myquota
chmod 2770 /home/myquota


本文到这里就结束啦,后面学习shell的时候遇到问题或者有新的shell技巧会继续更新

脚本下载

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值