这个问题已经在这里有一个答案:
- 获取最新的文件在目录上的Linux 19个回答
我需要与NLB启动文件夹中,以获得最新的目录名。
#!/bin/sh
cd /home/ashot/checkout
dirname=`ls -t nlb* | head -1`
echo $dirname
当文件夹包含名称开始NLB许多文件夹,这个脚本工作正常,但是当只有一个与名字开始NLB文件夹,这个脚本打印出文件夹中的最新文件名。 如何去改变它,以获得最新的目录名?
这个问题已经在这里有一个答案:
我需要与NLB启动文件夹中,以获得最新的目录名。
#!/bin/sh
cd /home/ashot/checkout
dirname=`ls -t nlb* | head -1`
echo $dirname
当文件夹包含名称开始NLB许多文件夹,这个脚本工作正常,但是当只有一个与名字开始NLB文件夹,这个脚本打印出文件夹中的最新文件名。 如何去改变它,以获得最新的目录名?
添加-d
参数LS。 这样,它总是会打印正是它说,不看里面的目录。
#!/bin/sh
cd /home/ashot/checkout
dirname=$(ls -dt nlb*/ | head -1)
echo $dirname
至于其他的答案分出来,你需要的-d
不看里面的目录。
这里附加的尖端被追加/
到图案。 在这个问题您指定要获得最新的目录 。 有了这个尾随/
只目录将被匹配,否则文件是否存在,这是最新的和模式匹配nlb*
会破坏你的脚本。
我也改变了`...`
到$(...)
这是现代推荐的写作风格。