我想在最新创build的目录在给定的目录(我们为每个版本创build一个新的文件夹),然后cd到该目录。 我想创build一个别名,所以我不必记得如何到达最新的目录,每当我需要。
以下是我所尝试的:
ls -ltr ~/workspace/docs/new-docs/Mapper/Documentation/ | tail -1 | cd cd $(ls -ltr ~/workspace/docs/new-docs/Mapper/Documentation/ | tail -1)
问题似乎是,如果我命令的结果我最终的文件作为输出的权限。 任何帮助是极大的赞赏!
更新:
$cd `ls -dt ~/workspace/docs/new-docs/Mapper/Documentation/* | head -1` -bash: cd: drwxr-xr-x: No such file or directory
那么你确实给ls指定了-l选项,导致输出很长。 尝试删除它。
ls -tr ~/workspace/docs/new-docs/Mapper/Documentation/
您还需要确保path被预置为所需的目录名称。 通过将*添加到path并为ls指定-d选项来执行此操作。
ls -dtr ~/workspace/docs/new-docs/Mapper/Documentation/*
为了提高性能,你也应该努力学习,不要颠倒过来。
ls -dt ~/workspace/docs/new-docs/Mapper/Documentation/* | head -1
最后的命令是:
cd `ls -dt ~/workspace/docs/new-docs/Mapper/Documentation/* | head -1`
有几件事要提到:
ls -dt [PATH]/*也会列出文件; 如果文件存在于目录中,这可能是一个问题。 所以,给你更快的select:
cd "`ls -dt ~/workspace/docs/new-docs/Mapper/Documentation/*/ | head -1`"
或者,如果您的ls命令支持,
cd "`ls -t --group-directories-first ~/workspace/docs/new-docs/Mapper/Documentation | head -1`"