0
私は関数を作成しました。スクリプトを実行するたびに、ボックスがクラッシュするまで何千ものプロセスが生成されます。私は何がうまくいかないのか分かりません。どんな助けもありがとうございます。Bash関数とforループ
ping() {
for i in {1..254};
do
(ping -c1 -W1 10.0.0.$i)
done
while true;
do
read -rep $'What method do you want to use' method
if [ $method == "ping" ];
then
ping
else
echo "Wrong method"
done
ところで - '場合は[$方法== "ピング"]' 'べきであるならば[ "$方式"=ピング] '。文字列分割やグロブを防ぐために、展開を引用符で囲む必要があります。リテラルスペース、グロブ文字、&cを含まないことが知られている定数文字列。しないでください。そして '=='は 'test'で有効な演算子ではありません.bashは拡張機能として提供しています。なぜならあなたのコードはテスト時に動作しますが、POSIXは' = 'のみを指定するからです。 –
... http://shellcheck.net/でコードを実行することを検討してください。 –
@SachinMokashi、あなたの編集 - 複数行のコードブロックは、バックスペースではなく4つのスペースインデントでフォーマットする必要があります。エディタの '{}'ボタンを見てください。 –