Function 在函数中传递特定的文件名

Function 在函数中传递特定的文件名,function,shell,zsh,nano,Function,Shell,Zsh,Nano,一般来说,我对shell比较陌生,只是最近才开始学习bash脚本以及如何在自动化中使用它。问题是,我使用zsh作为我的日常shell,并且希望养成使用命令行文本编辑器的习惯,特别是nano,至少现在是这样 为此(以及练习编写脚本和调整配置文件),我尝试在.zshrc中创建一个函数,该函数将cdme放入我的库使用的特定目录中,然后创建一个以今天日期为名称的文件,并进入交互式nano会话 所述功能的代码 function ok_go() { cd ~/Library/Mobile\ Docu

一般来说,我对shell比较陌生,只是最近才开始学习
bash
脚本以及如何在自动化中使用它。问题是,我使用
zsh
作为我的日常shell,并且希望养成使用命令行文本编辑器的习惯,特别是
nano
,至少现在是这样

为此(以及练习编写脚本和调整配置文件),我尝试在
.zshrc
中创建一个函数,该函数将
cd
me放入我的库使用的特定目录中,然后创建一个以今天日期为名称的文件,并进入交互式
nano
会话

所述功能的代码

function ok_go() {
    cd ~/Library/Mobile\ Documents/com~apple~CloudDocs/Freewriting
    nano $(date %d.%m.%Y)
}
问题是nano并没有真正获得名称,它将
cd
放入正确的目录,启动一个文件编辑器,但名称为空。但出于某种原因,如果我以交互方式使用
nano$(日期%d.%m.%Y)
(我自己称它),它会按照我的预期工作,即使用类似
21.04.2021.txt的名称开始编辑文件


我无法从函数调用中真正理解它为什么不起作用,以及如何让它表现得像一个愿望。谢谢

日期命令中缺少一个
+
。如果您仔细检查,您可能会发现您在终端中使用+运行它,而在函数中忽略了它。即使输出是相同的,从两个不同的源完全复制粘贴也是一个好主意,因为它很容易忽略一些非常小的事情,例如在调试过程中产生所有差异的东西嘿,谢谢!毕竟,你是完全正确的!我只是在我的代码中忘记了一个
+
符号,但我在头脑风暴如何实现该功能时确实使用了它。还将文件扩展名更改为
.md
,并启用了突出显示和软包装。梦想设定!现在唯一缺少的是一个内置计时器!您认为有没有可能在功能中包含一个计时器,可以在10分钟后自动保存并关闭
nano
?你能发表你的评论作为回答吗?我很乐意接受!因为它是由两次尝试之间的打字错误或复制粘贴失败引起的,所以您可以将其关闭为“不可复制”。在
nano
中超时后自动保存是另一个问题,我不知道如何做好(如果我的编辑器仅仅因为我切换了windows来回复电子邮件而保存并关闭了自己,我会感到非常惊讶和恼火)