シェルスクリプトを実行しようと思ったら -bash: ./aaa.sh: /bin/sh^M: bad interpreter: No such file or directory と怒られた。 /bin/shはきちんと存在する。なんでだろ? ググってみたら、MS-DOS形式のファイルを持ってくるときに改行がMS-DOS形式のままになっていると、こういうことが起きるらしい。 いつもと違う方法でやったのがいけなかったか。(^^ゞ 改行を変換するプログラムがないか、ググって調べてみる。 「nkf」というプログラムがあった。 apt-getで入手。 改行を変換するには、 nkf -Lu -d aaa.sh > aaa.sh.nnn こんな感じでするらしい。 「-Lu -d」の部分がunix用改行を出力するオプション。 ファイル名とアクセス権を変更し、実行してみる。 オッケー!