在我的 EC2 Linux 服务器上,我盲目地在我不应该运行的目录中运行 chmod 777。那里有数百个文件,我不确定哪些文件需要恢复到原来的权限。我有配置完全相同的服务器。因此,我尝试运行一个 shell 脚本,为目录中的每个文件输出 chmod 命令。我的计划是获取结果并在另一台计算机上的 shell 脚本中执行它们。
我希望我的输出看起来像这样:
sudo chmod ### /somefilepath/
sudo chmod ### /somefilepath/
我的 shell 脚本现在看起来像:
#!/bin/sh
for file in /opt/bitnami/**
do
perm = "$(stat --format '%a' "$file")"
echo 'sudo chmod $perm "$file"'
done
每个文件上都会出现错误,找不到 perm。我究竟做错了什么?
在以下响应后我能够解决这个问题,最终脚本是:
#!/bin/sh
FILES=$(find /opt/bitnami/ -name '*')
for file in $FILES
do
perm=$(stat --format '%a' "$file")
echo "sudo chmod $perm $file"
done
答案1
空白很重要:
spacing = "matters" # runs spacing. or tries to, anyways
spacing="matters" # probably more what you want