以下代码递归查找 arg1 的子目录(默认为 pwd),用数字标记每个目录或文件。然后提示用户输入一个数字,并用该数字 cd 那个目录标签(如果它是一个目录)。
但我不明白这个数字来自哪里......以及我如何控制它到达的子目录的深度......
用法来源 gd.sh gd
#!/bin/bash
function gd ()
{
local dirname dirs dir
if [ $# -gt 0 ]
then
dirname=$1
else
dirname=$(pwd)
fi
dirs=$(find $dirname -type d)
PS3=`echo -e "\nPlease Select Directory Number: "`
select dir in $dirs
do
if [ $dir ]
then
cd $dir
break
else
echo 'Invalid Selection!'
fi
done
感谢帮助 :)