关于Bash---DOS到shell的转换

1.缘起

     由于从windows转向Ubuntu以及自身项目的的原因,需要学习shell,而Linux中默认的shell就是大名鼎鼎的bash。因为项目的原因,发现需要将一个dos的批处理修改为shell脚本。自身的知识不是很过硬,就google了一下。

2.将DOS的批处理转换为shell脚本

   关于DOS或者是现代的windows机器上的DOS模拟器cmd程序,百度文库有《CMD命令行高级教程》,是一个有介绍有实例的教程,其中的实例都是可以运行的,我自己学习时参考了一下。链接如下:http://wenku.baidu.com/view/f74997c06137ee06eff91849.html。 将DOS转换为Shell其实就是类似数学的等价变换的,给出一一对应的关系即可。

表格 L-1. 批处理文件关键字 / 变量 / 操作符, 和等价的shell符号

批处理文件操作符 Shell脚本等价符号 含义
% $ 命令行参数前缀
/ - 命令选项标记
\ / 目录路径分隔符
== = (等于)字符串比较测试
!==! != (不等)字符串比较测试
| | 管道
@ set +v 不打印当前命令
* * 文件名"通配符"
> > 文件重定向(覆盖)
>> >> 文件重定向(附加)
< < 重定向stdin
%VAR% $VAR 环境变量
REM
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
引用\[1\]: 这个问题是在将Windows上编写的shell脚本部署到Linux上运时出现的。错误信息"syntax error near unexpected token `$’do\r’"或类似的错误提示通常是由于尾格式不一致导致的。引用\[2\]中提到,不同操作系统对于尾的表示方式不同,Unix使用<LF>表示尾,而Windows使用<CR><LF>表示尾。因此,当将Windows上的脚本文件移到Linux上时,可能会出现尾格式不匹配的问题,导致语法错误。引用\[3\]中提到了通过rz命令上传文件时遇到无法删除文件的问题,这可能与文件的权限设置或者其他因素有关。 解决这个问题的方法是将脚本文件的尾格式转换为Unix格式。可以使用dos2unix命令或者sed命令来实现。dos2unix命令可以将Windows格式的文本文件转换为Unix格式,而sed命令可以用来替换文件中的特定字符。通过将脚本文件的尾格式转换为Unix格式,可以解决这个语法错误的问题。 #### 引用[.reference_title] - *1* *2* [syntax error near unexpected token `$’do\r”报错问题](https://blog.csdn.net/limm33/article/details/53043988)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [记录:bash: syntax error near unexpected token `(‘ ...【亲测有效】](https://blog.csdn.net/weixin_43970743/article/details/124051973)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值