Chinaunix
标题:
Linux 中Shell遇到点问题,请教一下
[打印本页]
作者:
yhizyh
时间:
2013-07-09 22:11
标题:
Linux 中Shell遇到点问题,请教一下
本帖最后由 yhizyh 于 2013-07-10 08:26 编辑
我在学习Bash Shell Script遇到点问题想请教一下:
脚本如下:
1 #!/bin/bash
2
3 DIR="/root"
4
5 (cd $DIR)
6
7 for f in $(ls $DIR)
8 do
9 [ -d "$f" ] && (du -s $f) || echo "$f 是一个文件"
10 done
复制代码
就是遇到目录则显示一下目录大小。但是现在执行在 [ -d "$f" ] && (du -s $f) || echo "$f 是一个文件" 这里遇到了问题,遇到的所有东西全部都是文件,没有按照目录对待。
例如:
公共的 是一个文件
模板 是一个文件
视频 是一个文件
图片 是一个文件
文档 是一个文件
下载 是一个文件
音乐 是一个文件
桌面 是一个文件
而这几个全部都是目录呀。请问这个问题出在什么地方了?
呵呵,问题自己解决了,但是不知道为什么,在第5行(cd $DIR),去掉() ,直接写cd $DIR,就OK了,但是那位能帮忙告诉一下原因吗?
作者:
wenhq
时间:
2013-07-10 11:08
set -xv 看下结果。
欢迎光临 Chinaunix (http://bbs.chinaunix.net/)
Powered by Discuz! X3.2