• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:シェルスクリプトがちゃんと動かない)

シェルスクリプトが正常に動作しない

このQ&Aのポイント
  • fileフォルダ内のファイルをリネームするシェルスクリプトが正常に動作しない
  • Mac OS Xでは問題なく動作するが、Webサーバ上で動作させるとエラーが発生する
  • 連番でファイル名を変更する方法についてアドバイスを求めている

質問者が選んだベストアンサー

  • ベストアンサー
  • a-saitoh
  • ベストアンサー率30% (524/1722)
回答No.2

それは/bin/shの機能を超えた Darwinのシェルの拡張機能を使っているからでしょう。 また、ファイルが10個以上あると for file in *.txt では 1.txt 10.txt 11.txt 2.txt 3.txt・・・ という順序で処理されてしまいます。 とりあえず man sh を全部読破すれば理解できると思いますよ。

ssc5687
質問者

お礼

なるほど。Darwinでの動作が特別だったのですね。 処理順についても大変参考になりました。 シェルスクリプトを利用して今まで面倒だった事が色々出来そうなのですが、なかなか大変です。 man shも参照しましたが英語に疎いので、、、 今日は朝からトライしていたので、明日本屋に直行しようと思います。 ありがとうございました。 (締め切りはもう少し先にさせてください)

ssc5687
質問者

補足

追記 やはり自分の知識ではまだまだ追いつかなかったので、個別に mvという方法にしました。 ファイル数もあまり無いですし、順序の問題もクリアされて無事検証も出来ました。 とりあえず動かす分には完璧なので、今後勉強していきながら、もっと良い書き方を覚えていこうと思います。 本日で閉め切らせていただきます。 ありがとうございました。

その他の回答 (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 ・・・かな?

ssc5687
質問者

お礼

ありがとうございました。 他にも間違いがありそうなので、引き続き調べていきたいと思います。

関連するQ&A