私はEC2 Linuxサーバーで実行してはいけないディレクトリでchmod 777を盲目的に実行しました。そこには何百ものファイルがあり、どのファイルを元の権限に復元するのかわかりません。サーバーをまったく同じように構成しました。そこで、ディレクトリ内の各ファイルに対してchmodコマンドを出力するシェルスクリプトを実行してみました。私の計画は結果を得て、それを別のコンピュータのシェルスクリプトで実行することです。
私の出力は次のようになりたいです。
sudo chmod ### /somefilepath/
sudo chmod ### /somefilepath/
私のシェルスクリプトは次のようになります。
#!/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