bash函数。帮我理解
尝试设置一个快捷方式,允许我将cd刻录到一个目录中,并在其中列出文件 这是我到目前为止得到的。我的知识有限,这几乎只是从网上复制和粘贴资源,不知道我在做什么,但在这个过程中学习:bash函数。帮我理解,bash,function,ls,cd,Bash,Function,Ls,Cd,尝试设置一个快捷方式,允许我将cd刻录到一个目录中,并在其中列出文件 这是我到目前为止得到的。我的知识有限,这几乎只是从网上复制和粘贴资源,不知道我在做什么,但在这个过程中学习: cdl () { cd $1 ls . $1 } 它执行我想要的操作,但会产生错误: ls: cannot access colorschemes/: No such file or directory .: 如何消除错误消息?如果已将CD刻录到某个目录,则无需运行ls-lth。没有必要再提到目录名
cdl () {
cd $1
ls . $1
}
它执行我想要的操作,但会产生错误:
ls: cannot access colorschemes/: No such file or directory
.:
如何消除错误消息?如果已将CD刻录到某个目录,则无需运行ls-lth。没有必要再提到目录名
function cdl () {
cd "$1"
ls -lth
}
如果您还没有这样做,我建议您将其添加到您的.bash_配置文件中
问候 提示:当你
cd
进入一个名为dirname
的目录时,ls dirname
还有意义吗?如果我从第三行取出
,我会得到这个错误“ls:cannotaccesscolorschemes/:没有这样的文件或目录”,并且根本没有列出文件,应该真正引用“$1”
。很好。非常感谢。完全符合我的要求(减去-lth标志)。你能解释一下为什么这个有效而我的无效吗?它是否与cdl
之前的函数有关?@m147很酷。很高兴听你这么说。你能解释一下为什么这个有效而我的无效吗?它与cdl之前的函数有关吗?@m147您试图列出colorschemes/
和colorschemes/colorschemes/
。后者是无效目录,导致错误。这与你的功能没有任何关系。如果打开一个终端,运行cd/
,然后运行cd-tmp
切换到/tmp
,然后运行ls-tmp
尝试在/tmp
中列出一个目录,则会出现相同的错误。列出当前目录的正确方法是ls
或ls.
,而不是ls relativeNameOfCurrentDir