通过脚本,我无法更改目录并列出文件。
cd
不管用。
这是我的脚本
#!/bin/bash
export HOME=/home/yesh
DIR_START=2
DIR_END=`wc -l < ${HOME}/conf/DirectoryList`
while [ ${DIR_START} -le ${DIR_END} ];
do
DIR1=`cat /home/yesh/conf/DirectoryList | sed -ne ${DIR_START}p`
echo "cd ${HOME}/${DIR1}"
find . -type f > /home/yesh/Files_"$(date +%Y%d%m)".log
done
DirectoryList
/home/yesh/yesh.txt
/home/yesh/Yesh
/home/yesh/BACKUP
/home/yesh/venv3
/home/yesh/pythonfund
以上是我需要浏览的目录列表 ${HOME}/conf/DirectoryList
如果目录列表不是太大,我建议完全避免 shell 循环并简单地将列表传递给
find
通过数组:如果您仍想改用 shell 循环,那么
如果您的意图
cd
是从输出中删除前导路径组件,那么您可以find
通过将默认打印替换为显式-printf '%P\n'