将脚本压缩到mkdir

时间:2010-07-16 19:39:17

标签: macos bash shell mkdir

我正在尝试根据用户输入的变量创建一个目录,然后在那里保存文件。

我认为这对我来说很简单,但是当我尝试保存时,我收到错误消息“没有这样的文件或目录”。 当我点击“ls”时,它会列出一个带有“?”的目录。在它之后。

我在Mac终端上使用.sh脚本。

相关代码:

#get user input
echo "enter the collection number"
read COLLECTION
#create the directory
mkdir "$COLLECTION"dir
#calculate a checksum and save it to the above directory
sudo openssl md5 /dev/disk1 > "$COLLECTION"dir/md5.txt

-

3 个答案:

答案 0 :(得分:3)

检查脚本以查看是否有DOS样式行结尾(\r\n)。如果您不确定,可以安全地在脚本上运行dos2unix

您在文件名中看到的?实际上可能是该行末尾的回车符(因为Bash不将其视为空格)。

所以"$COLLECTION"dir/不存在; "$COLLECTION"dir\r/确实如此。

编辑: Vi通常可以很好地向您展示这些特殊字符是什么。

ls | vi -

答案 1 :(得分:1)

这段代码中唯一可能会给你一个“没有这样的文件或目录”错误的是最后一行。您的计算机上是否存在/dev/disk1

答案 2 :(得分:0)

当我收到错误时,我使用mkdir -p;)