コードからファイルを削除する必要がありFortran
ます。私はオンubuntu 12.04, x86_64
です。以下に説明する手順が機能しない理由がわかりません。状況を明確にするのを手伝ってください(実際、一部のシステムでは機能しますが、私のシステムでは機能しません)。
別の方法があります: unix command を直接呼び出すことができますrm -f file
が、メソッドの何が問題なのか知りたいです。ありがとうございました。
ステップ 1. シンプルなスクリプト del.sh を作成し、~/bin に配置します。
$ cat del.sh
[ $# -ge 1 ] && rm -f $1
$ chmod u+x del.sh; mv del.sh ~/bin
ステップ 2. Fortran コード、del.for:
character*100 cmd
character*30 file
call getarg(1,file)
write(cmd,100) file
100 format('source del.sh ',a30)
call system(cmd)
end
ステップ 3. コンパイルして実行します。
$ ifort -o del del.for
$ ./del file
結果:
sh: 1: source: not found
なにが問題ですか?単純な「ソース del.sh ファイル」は機能しますが、Fortran コードからは機能しません...混乱します。
Fortran コードから:
100 format('del.sh ',a30)
100 format('bash del.sh ',a30)
完璧に動作しますが、
100 format('sh del.sh ',a30)
動作しません。bash
インストールしましたが、いいえcsh
。ありがとうございました。