1. 程式人生 > >隨筆1:shell遞迴遍歷資料夾

隨筆1:shell遞迴遍歷資料夾

最近工作需要,寫了一些shell指令碼用來做伺服器一鍵打包更新,

通過for遞迴遍歷資料夾時檔名中含有空格,它會當成兩個檔案

解決方式:修改分隔IFS

#! /bin/bash

function dfs
{
	old_IFS=${IFS}
	IFS=$(echo -e '\n')
	for file in `ls -A "$1"`
	do
		if [ -d $1/${file} ]; then
			dfs "$1/${file}"
		else
			echo "$1/${file}"
		fi
	done	
	IFS=${old_IFS}
}

作為良好的習慣,改過的東西用完後要改回去

這是我自己寫的一個dfs遞迴遍歷,效果和-r差不多