shell - 如何通过 shell 脚本创建显示所有目录的命令?
问题描述
我想创建一个命令,显示作为参数给出的目录中的所有目录。例如,如果我们的文件层次结构是这样的:
dir1:
dir2
dir3
file1
dir4:
file2
dir5
然后结果rep dir1
应该显示:
dir2
dir3
dir4
而rep dir1/dir4
应该显示:
dir5
目前我有一个shell脚本rep.sh
执行以下操作:
function rep(){
all=`ls $1`
for each in $all
do
if [ -d $each ]
then
echo $each
fi
done
}
通过执行此脚本bash rep.sh
不会执行任何操作,我认为这是正确的,但是当我执行此操作时rep dir1
,rep dir1/dir4
它不会显示任何内容。我认为我的错误在于我没有正确使用函数环境,或者我没有正确传递参数。
解决方案
推荐阅读
- javascript - 从jQuery中的数组填充复选框和标签属性
- ios - 如何修复 ios 10 中的崩溃“数据 <> 不代表有效的 UUID”?
- c# - 包含 ippiFFTGetSize_C_32fc ().(intel IPP) 创建的 dll 文件中 System.DllNotFoundException 的问题
- java - 如何使用spring boot连接到oracle数据库
- apache-kafka - 如何从 android /iOS 设备检索到 Kafka 生产者 API Spark 流
- bash - #+ 在 bash 脚本中是什么意思?
- hadoop - 这些“抢占”的 Yarn 命令有什么作用?
- kendo-ui-angular2 - 如何以编程方式设置对话框标题内容
- mysql - 使用 LIKE 和 CONCAT 的 MySQL/ORACLE 性能
- json - 无法通过 fetch 获取搜索结果 - Github API