首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >bash shell代码混淆

bash shell代码混淆
EN

Stack Overflow用户
提问于 2013-11-02 22:48:13
回答 1查看 60关注 0票数 2

下面的代码递归地查找arg1的子目录(默认情况下是pwd),用数字标记每个目录或文件。然后提示用户输入一个数字,并将该目录标记为该数字(如果是一个目录)。

但我不明白这个数字是从哪里来的.以及如何控制子目录的深度.

使用源gd.sh gd

代码语言:javascript
复制
#!/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

谢谢你的帮助:)

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-11-02 22:55:48

这个数字来自select ... in ...指令。它为列表中的每个元素添加一个数字。查看man页面的bash

对于第二个问题,请使用选项-maxdepth of find

代码语言:javascript
复制
dirs=$(find $dirname -maxdepth 2 -type d)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19747771

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档