小编Gel*_*ser的帖子

Bash 脚本分段错误

我的任务是编写一个 bash 脚本,该脚本读取目录并返回其中每个文件(包括所有子目录)的文件类型。不允许使用 find 命令。我尝试使用两个 for 循环来实现这一点,但出现了分段错误。但是,我发现当我传递没有子目录的目录时,该脚本确实有效。有人愿意查看菜鸟的代码并告诉我出了什么问题吗?非常感谢。

#!/bin/bash
func () {
for name in $1
do
  if [ -f "$name" ]
  then
    file "$name"
  elif [ -d "$name" ]
  then
    func "$1"
  fi
done
}

directory="$1/*"
for name in $directory
do
  if [ -f "$name" ]
  then
    file "$name"
  elif [ -d "$name" ]
  then
    func "$1"
  fi
done
Run Code Online (Sandbox Code Playgroud)

bash segmentation-fault

4
推荐指数
1
解决办法
4254
查看次数

标签 统计

bash ×1

segmentation-fault ×1