- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:シェルスクリプトがちゃんと動かない)
シェルスクリプトが正常に動作しない
このQ&Aのポイント
- fileフォルダ内のファイルをリネームするシェルスクリプトが正常に動作しない
- Mac OS Xでは問題なく動作するが、Webサーバ上で動作させるとエラーが発生する
- 連番でファイル名を変更する方法についてアドバイスを求めている
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
それは/bin/shの機能を超えた Darwinのシェルの拡張機能を使っているからでしょう。 また、ファイルが10個以上あると for file in *.txt では 1.txt 10.txt 11.txt 2.txt 3.txt・・・ という順序で処理されてしまいます。 とりあえず man sh を全部読破すれば理解できると思いますよ。
その他の回答 (1)
- SAYKA
- ベストアンサー率34% (944/2776)
回答No.1
シェル上ではそのまま演算式を書いても文字列として扱われるみたいだよ http://www.google.co.jp/search?q=sh%20%E6%95%B0%E5%80%A4&hl=ja&lr=lang_ja ・・・expr ・・・かな?
質問者
お礼
ありがとうございました。 他にも間違いがありそうなので、引き続き調べていきたいと思います。
お礼
なるほど。Darwinでの動作が特別だったのですね。 処理順についても大変参考になりました。 シェルスクリプトを利用して今まで面倒だった事が色々出来そうなのですが、なかなか大変です。 man shも参照しましたが英語に疎いので、、、 今日は朝からトライしていたので、明日本屋に直行しようと思います。 ありがとうございました。 (締め切りはもう少し先にさせてください)
補足
追記 やはり自分の知識ではまだまだ追いつかなかったので、個別に mvという方法にしました。 ファイル数もあまり無いですし、順序の問題もクリアされて無事検証も出来ました。 とりあえず動かす分には完璧なので、今後勉強していきながら、もっと良い書き方を覚えていこうと思います。 本日で閉め切らせていただきます。 ありがとうございました。