我的组织有一个专用于用户文件的网络共享。每个用户都有自己的目录。我试图找出谁使用了最多的共享空间。我当前的代码如下所示
#!/bin/bash
#Author= x
#Date= 04/28/23
#Desc= x
# Defining the directory
directory="/path/to/directory"
# Creating array to hold the file names
files=()
# Loop through each file in the directory
for file in "$directory"/*; do
# Add the file name to the array
files+=("$file")
done
# Use du to get the size of each file and sort the results by size
du -sh "${files[@]}" | sort -h > output.txt
运行脚本时,我收到“du:无法访问'$file':没有这样的文件或目录。”我对脚本编写相当陌生,并且意识到这个问题与我定义变量的方式有关,但不确定要更改什么。
答案1
你把事情想得太复杂了。正如吉尔斯在评论中指出的那样:
du -sh /path/to/directory/* | sort -h