第一个Cygwin下的shell脚本问题

环境:win7, Cygwin

问题:在shell脚本中输出一个文件如yy.txt,想将此文件copy到Cygwin目录下,但执行后就说找不到此文件。用ls命令看后,发现生成的文件不是“yy.txt”,而是“yy.txt?”,多了一个问号。

自我解答:这是Cygwin对脚本中换行符的错误理解。(shell对空格等格式是变态的敏感!!)

可以执行的代码:

#!/bin/bash
echo "Hello World!"
#cd c:/Users/ggg/Desktop
pwd >> yy.txt
cp yy.txt? /home/ggg


完美解决办法:用dos2unix 命令,将window下的脚本文件格式转换成标准的unix格式。

补充:在Cygwin下存在这个问题,但是在 Git Bash下就没有这个问题。



另一个问题:为什么cd不到制定的目录?

#!/bin/bash
echo "Hello World!"
cd c:/Users/ggg | pwd >> yy.txt | cp yy.txt /home/ggg/yy2.txt

结果yy.txt中是/cygdrive/c/Users/ggg/Desktop,这是此执行的.sh文件的目录,为什么并没有cd到c:/Users/ggg目录下呢?输出没有任何错误啊??

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值