协助如何显示用户指定文件夹的只写文件

协助如何显示用户指定文件夹的只写文件

我正在编写一个脚本,允许用户进入所选的文件夹。完成后,脚本将从根目录开始搜索该文件夹,并显示该文件夹中仅具有“其他”类别的写入权限的所有文件。这是我到目前为止所得到的,我知道我的问题出在一个小的查找选项中,希望有人可以提供帮助。

echo -e "Enter a Folder Name Below\n"
read foldername
answer=$(find -prm -o+w / -name $foldername 2>/dev/null)
if [ "$answer" = "" ]
then
    clear
    echo -e "\n\n That Was Bad Input" 
else
    clear
    ls -l $answer
fi
read pause

答案1

您的脚本需要进行一些改进。引用变量 , 是一个很好的"$folder"做法"$answer"。您需要在脚本中使用-z和来测试空/非空字符串。尤其是在读取带有斜杠的输入时,-n最好使用它。read -r您还需要更改 find 命令中参数的顺序。wholename根据您的 shell,您可能想使用name.这是您可以考虑的工作版本。

#!/bin/bash
echo -e "Enter a Folder Name Below\n"
read -r foldername
answer=$(find / -type d -perm /o+w -wholename "$foldername" 2>/dev/null)
if [ -z "$answer" ]
then
    clear
    echo -e "\n\n That Was Bad Input" 
else
    clear
    ls -l "$answer"
fi
read pause

答案2

您的选项中有语法错误find。它是-perm,例如:

$ find $foldername -type f -perm -o+w

相关内容