【发布时间】:2019-09-20 05:45:01
【问题描述】:
我正在编写一个脚本,要求用户输入他们想要更改权限的文件名,如果搜索中出现多个文件并且如果用户想要使用多个文件我将如何处理。
我已经设置了 find 命令并将其设置为存储在路径中。
read -r QUESTION
if [ "$QUESTION" = 1 ];
then
echo "What is the name of the file you want to make read only?"
read -r FILENAME
find ~/ -name "$FILENAME"
PATH=$(find ~/ -name "$FILENAME")
echo
pwd
/bin/chmod -v 400 "$PATH"
fi
fi
echo
预期的输出将是用户将能够输入多个文件,他们将能够一次更改所有这些文件的权限。如果他们只想更改 1 个文件并且在 find 中显示多个文件,他们可以选择他们的 1 个文件。
【问题讨论】:
-
BashFAQ #20 涵盖了直接对
find匹配的文件进行操作或将它们放入数组(不是普通变量!)以便您可以单独对它们进行操作的方法。您也可以直接遍历名称,如this answer。 -
对不起,我还有一些问题,当它的PATH=$() 时会叫什么?第二件事是来自数组让我们说我使用 chmod,我可以在 chmod 末尾调用数组来一次更改所有文件?