我需要在以nlb开头的文件夹中获取最新的目录名称.
#!/bin/sh
cd /home/ashot/checkout
dirname=`ls -t nlb* | head -1`
echo $dirname
Run Code Online (Sandbox Code Playgroud)
当文件夹包含许多名称以nlb开头的文件夹时,此脚本可以正常工作,但是当只有一个名称以nlb开头的文件夹时,此脚本会在该文件夹中打印最新的文件名.如何更改它以获取最新的目录名称?
#!/bin/sh
cd /home/ashot/checkout
dirname=$(ls -dt nlb*/ | head -1)
echo $dirname
Run Code Online (Sandbox Code Playgroud)
正如另一个答案所指出的那样,你需要-d不要查看内部目录.
这里的另一个提示是附加/到模式.在您指定的问题中获取最新目录.使用此跟踪/仅匹配目录,否则如果存在最新的文件并匹配nlb*将破坏脚本的模式.
我也改变了`...`到$(...)这是现代推荐的写作风格.