fsck
起動ファイルシステムが読み取り専用であることを確認し、その場合は、権限を変更して再起動するために実行される起動時に実行されるスクリプトを作成しようとします。
ls
ポイント1:コマンドから権限行をgrepする方法がわかりません。
ポイント2:コマンドがそれを含まない文字列を返すかどうかを確認する方法もわかりませんw
。
たとえば、ls -l コマンドは次のような行を返します。
drwx-----+ 5 Admin staff 170 Oct 12 05:41 Documents
私はちょうど次の文字列を取得したいと思います:
drwx-----+
その後、書き込み権限がないことを確認します。
以下はこれまでのスクリプトです。
#!/bin/bash
$DIR='home'
#If $DIR has only read permissions run loop
if [[ #point 1 = #point 2 ]] then
#fix permissions on $DIR
umount ${DIR}
fsck
reboot
fi
ベストアンサー1
if ! [[ -w "$DIR" ]]; then
# $DIR is not writeable
fi
これが適用されます現在のユーザー用しかし。それがあなたが望むものかどうかわかりません。
編集:権限文字列を本当に抽出する必要がある場合は、簡単な方法はstatを使用することです。
stat -c %A "$DIR"
次のようなものを返します。
-rwxr-xr-x