私は、CFパーティショニングプロセスを自動化するために素早く汚れたBASHスクリプトを使用していました。
これは私がそれに追加したいときまでうまくいきました。Bash EOFの予期しない動作があります
CMD=.fdisk
DEV=/dev/sdc
echo "Calculating partition sizes..."
P1SIZE=+1100M
P2SIZE=+1200M
echo "Creating instruction file..."
PT1="n p 1\n $P1SIZE"
PT2="n p 2\n $P2SIZE"
END="a 1 w EOF\n"
[ -e $CMD ] && rm -rf $CMD
for i in $PT1 $PT2 $END; do echo -e $i >> $CMD; done
echo "Creating partitions..."
fdisk $DEV << EOF < $CMD
[ -e $CMD ] && rm -f $CMD
アイデアは、将来的に「$ CMD」で表されるファイルが外部ツールによって自動的に作成されることがある:基本的に
、私のようなコンパクトフラッシュを分割するスクリプトを持っています適切な開始値と終了値。今、私は単にデフォルトの開始を受け入れ、サイズを提供します。
これはスクリプトにいくつかの追加ステップを組み込むまではうまく機能しました。しかし、私は奇妙な行動に気づいたときに問題に陥った。
最初は、私は関数の内部上記のコードを追加した場合、私は、スクリプトエラーを取得しておくということです。
line XX: syntax error: unexpected end of file
はまた、私は「FDISK」コマンドの後に、追加のコードが実行されないことに気づきましたスクリプトは単に終了するように見えます(エラーなし、$?= 0)。
誰もがなぜ機能しないのかわかっていて、スクリプトは終了しますか?
ドライブバイダウンローダーは迷惑ですが、それに慣れるのが一番です。あなたが攻撃を受けていると思うなら(downvotesがたくさんあります)、チームに連絡を取ったり、メタについて聞いてみてください。そして、彼らは敗者かもしれないし、彼らはあなたが望むよりも彼らのdownvotesで緩いかもしれませんが、あなたはそれらを無視して最善です。 (悲しい、だけど) –