
サイズが指定された制限(変数として宣言されている)より大きいすべてのファイルのパスを出力する必要があります。
私はfindスクリプトを使ってこれをしました。
FILESIZE = "+10M";
find "$1" -maxlimit 1 -size "$FILESIZE" -type f -exec echo "put {}" \;
2 つのエラーが発生します。
/mnt/d/Lab1_z2.sh: line 1: FILESIZE: command not found
find: unknown predicate `-maxlimit'
どうやって解決しますか?
答え1
最初のエラーは簡単です。
# wrong:
FILESIZE = "+10M";
# correct:
FILESIZE="+10M"
=
シェル変数を割り当てるときは、シンボルを囲むためにスペースを使用しないでください。もう一つの質問 - 行の末尾にセミコロンは必要ありません。病気ではありませんが、必要ではありません。
2番目のエラーは実際に恥ずかしいです。このオプションはどこで入手しましたか?-maxlimit
にはオプションはありませんfind
。可能なすべてのキーとオプションについては、次の手順を実行してman find
読んでください。