Shell脚本列出子目录文件路径
在该脚本中,我使用 ls -R 命令列出所有子目录和文件。然后针对目录,我使用 $file_dir 记录其路径,而针对文件,我将目录路径$file_dir与文件名$file_name拼接起来,然后显示文件的路径。
问题是 else 分支中$file_dir始终为空,并不是先前记录的值,请问这是怎么回事?是变量的作用域方面的问题吗?
新手请教,感谢回复。
#! /bin/bashls -R | while read file_namedo #echo $file_name echo $file_name | if grep "^\." > /dev/null then file_dir=`echo $file_name | sed 's\:$\/\'` #echo $file_dir else #echo $file_dir file_path=$file_dir$file_name #echo $file_path if [ -f "$file_path" ] then echo $file_path fi fidone