我正在编写一个基本的shell脚本,用于创建目录并将目录更改到该文件夹以在其中写入。
现在我有以下内容:
mkdir -p "Home/first/second/third"
cd "Home/first/second/third"
这会产生不希望的结果,因为文件结构如下:
- Home
- first
- second
- thirdr
我希望摆脱thirdr
上的r
,但我不确定为什么这样做。我已经尝试了大量不同的变化,似乎无法找出添加额外的r
的问题是什么
感谢@Klox解决了这个问题。
在Windows计算机上编辑的文件以rn结尾,而在Linux计算机上编辑的文件以n结尾。
因此,尽管代码在Linux上编译,它仍然以rn
结束创建的文件,导致在mkdir
中创建的最后一个目录以r
结束。为了删除r
,必须在linux环境中写入文件。.
你确定这就是剧本吗?
因为mkdir -p "Home/first/second/third"Should和does创建一个类似。
的结构Home
- first
- second
- third
你确实需要澄清你使用的是什么操作系统和shell。
您是在主机上创建文件还是从windows机器上复制到主机上?
使用编辑
dos2unix script.sh
去掉Windows中那些讨厌的r字符。
VSCode用户会发现,如果他们通过VSCode创建一个目录,它在macos (ksh终端)或linux上默认也包含r。尽管vscode直接在macos/linux系统上运行。