在 shell 中创建目录会导致最后一个文件夹具有额外的"r"



我正在编写一个基本的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系统上运行。

最新更新