イムを失敗したかどうかを確認しようとすると「chmodコマンドは、その後、ファイルのパーミッションを変更しない場合は...」chmodのは言うにどのような方法があるかどう思っ
if ! chmod ${1} ${2} #if chmod did not excecute correctly
then
echo "${0}:ERROR: ${2} has not been changed." 1>&2
exit 6 #exiting due to failure. status 6
fi
を私はこれを試してみましたが、いくつかしています他の方法が、私は単に現在の設定に追加するのではなく、それを変更することができます...
つまり私は-rwxr-XR-Xで始まる場合、私は他の
何も-rwxrwxrwxないようにそれを変更することは
を動作するようです
@EricLeschinskiは、参照としてABSを提案しないでください - それは時代遅れの提案と悪い-実践例のフルは、bashのW3Schoolsのです。 bash-hackers wikiははるかに評判の良い情報源です。終了ステータスのページは[here](http://wiki.bash-hackers.org/dict/terms/exit_status)です。同様に、[BashGuideのテストと条件項目]セクション(http://mywiki.wooledge.org/BashGuide/TestsAndConditionals)は、終了ステータスを詳しく扱っています。 –
'$ {1}'には何が起こっていますか?ここでの問題は、あなたが 'chmod'に与えるものかもしれません。おそらく、それはあなたが期待することをしない、有効なコマンドです。 :) – ghoti
「正しく実行されなかった」、「失敗しました」という意味はどうですか?権限が既にあなたが望むものだった場合、それは失敗したのでしょうか?オペレーティングシステムのシステムコールが成功した場合(要求された変更を正常に実行したことをファイルシステムが報告したことを意味します)、基礎となるファイルシステムは必要な権限を表すことができませんあなたが指定したものとは違っています)、*失敗としてカウントされますか?シナリオが何であるかについては非常に** **非常に具体的です - 一般に、 'chmod'はすでに失敗を報告します。 –