Bash: အခြေအနေများ (ရှိလျှင် - အခြား)

မင်္ဂလာပါ

ဒီတစ်ခါမှာတော့အခြေအနေကိုအခြေပြုပြီး script တစ်ခုဘယ်လိုလုပ်ရမယ်ဆိုတာပြမယ် Bash မှာဘာသာပြန်ထားသော

သင်လိုချင်သောအရာ X ကိုပြီးမြောက်ပါက Y အရေးယူမှုကိုပြီးမြောက်သည်မဟုတ်ပါကအခြားလုပ်ဆောင်မှုတစ်ခုပြုလုပ်သည်။

ရိုးရှင်းသောရှင်းပြချက် no 😀

ယခုငါဤသင်ခန်းစာတွင်အသုံးပြုရန်ဥပမာအချို့ကိုစဉ်းစားမိပြီးအောက်ပါအကြပ်အတည်း / ပြproblemနာ / အခြေအနေသည်ငါ့ထံသို့ရောက်ရှိခဲ့သည်။

ကျွန်ုပ်တို့ကုမ္ပဏီ၏ကွန်ယက်တွင်ရှိနေပြီး X ကွန်ပျူတာသည်ကွန်ယက်နှင့်ချိတ်ဆက်မရသိလိုသည်။ ဒီအတွက်ငါတို့လုပ်သည် ဇာတ်ညွှန်း သူဘာလုပ်လိမ့်မယ် ping ရဲ့ ကွန်ပြူတာဆီသို့၎င်း၊ ၎င်းသည်ကွန်ယက်တစ်ခုသို့ရောက်လျှင် (ဆိုလိုသည်မှာ၎င်းသည်ပြန်ပို့လျှင်) ping ရဲ့ဟုတ်ကဲ့၊ ၎င်းသည်ကွန်ယက်တွင်ရှိနေသည်ဟုကျွန်ုပ်တို့အားပြောလိမ့်မည်မဟုတ်ပါ။

ဤအရာပြီးသည်နှင့်ယခုငါအခြေအနေများနှင့်မည်သို့စက်ဘီးစီးရမည်ကိုရှင်းပြပါလိမ့်မည်

ဒီနေရာမှာကုဒ်ဖြစ်ပါသည်:

ping -c 1 DIRECCION-IP
if [ $? -ne 0 ]; then
echo "No está en red"
else
echo "Sí está en red"
fi

စိတ်မပူပါနဲ့၊ ကျွန်ုပ်အားအသေးစိတ်ရှင်းပြပါမည်😉

ping ရဲ့ ၎င်းသည်ကျွန်ုပ်တို့အသုံးပြုမည့် command ဖြစ်ပြီး၎င်းသည်ကွန်ယက်ပေါ်တွင်ကွန်ယက်ရှိမရှိကို၎င်းသည်ကျွန်ုပ်တို့အားပြောပြလိမ့်မည်။ ဘယ်ကွန်ပြူတာကကွန်ယက်ပေါ်မဟုတ်စစ်ဆေးလိုသည်ကိုပြောပြရန်ကျွန်ုပ်တို့ပြောင်းလဲရပါမည် အိုင်ပီလိပ်စာ သိသာထင်ရှားတဲ့ကျွန်တော်တို့စစ်ဆေးချင်တဲ့ကွန်ပျူတာရဲ့ IP လိပ်စာ။

မင်းမြင်တဲ့အတိုင်းငါထားခဲ့တယ်။-c ၂«ကျွန်တော်တို့ကိုလိုအပ်သောဘယ်။ ကွန်ပျူတာကိုကျွန်ုပ်တို့ ping လုပ်သောအခါ၊ ကျွန်ုပ်တို့ကိုယ်တိုင်ဖိပြီးသည်အထိဤလုပ်ဆောင်မှုသည် (ping) ကိုမရပ်ပါ [Ctrl] + [C]ဒါကြောင့်«-c ၂»ကျွန်ုပ်တို့သည်စစ်ဆေးမှုတစ်ခု (ping ကြိုးပမ်းမှုတစ်ခုတည်း) သာပြုလုပ်ရန်အခြားမည်သည့်အရာမျှမပြုလုပ်ပါ။ ၎င်းသည်ချက်ချင်းရပ်တန့်သွားလိမ့်မည်။ ဆိုလိုသည်မှာကွန်ပြူတာသည်ကွန်ယက်ပေါ်တွင်တစ်ကြိမ်သာဟုတ်မဟုတ်စစ်ဆေးလိမ့်မည်။

မင်းကဒီကိစ္စနဲ့ပတ်သက်ပြီးသံသယရှိရင်နာကျင်မှုမရှိဘူး။ သူတို့ပြောတာကိုငါပြန်ပြောပြမယ်😉

ယခုငါသံသရာဖြစ်လာသည်၊ အဘယ်ကြောင့်ဆိုသော်ကျွန်ုပ်ရှင်းပြခဲ့ပြီးသည်သာမန် command / action ထက်မကသောကြောင့်ဖြစ်သည်

if [ $? -ne 0 ]; then
echo "No está en red"
else
echo "Sí está en red"
fi

ဒါကိုနားလည်ဖို့ Bash 🙂ရဲ့အလွန်အရေးကြီးတဲ့အသေးစိတ်အချက်အလက်ကိုငါရှင်းပြမယ်

ဘာသာရပ်နှင့် ပတ်သက်၍ အသိပညာအရှိဆုံးသူကကျွန်ုပ်ကိုမှားယွင်းကြောင်းသို့မဟုတ်ထိုအရာနှင့်တူသည်ဟုမှတ်ယူနိုင်သည်။ သို့သော်ဟေး၊ ကျွန်ုပ်သည်အတွေ့အကြုံမရှိသေးသောပညာရှင်များအတွက်သာဤအရာကိုရေးသည်။

ဒါဟာဖြစ်သကဲ့သို့ဖြစ်ပျက် Bash မှာ အဲဒါလိုမျိုးပဲ 0 y 1ဆိုလိုသည်မှာ command တစ်ခုသို့မဟုတ်လုပ်ဆောင်မှုတစ်ခုလုပ်ဆောင်သောအခါသင်အသက်ရှင်နေသည်ဖြစ်စေ၊ သေသည်ဖြစ်စေဖြစ်စေ - ဖြစ်စေ၊ ကောင်းစွာကွပ်မျက်ခံရ ပြဿနာမရှိပါဘူး (1), သို့မဟုတ် အချို့ရှိခဲ့သည် ပြproblemနာဒါမှမဟုတ် အမှား (0).

ကျွန်ုပ်တို့သည် X action သို့မဟုတ် command ကိုလုပ်ဆောင်သည်။ ကျွန်ုပ်တို့လုပ်ခဲ့သည့်အရာသည်ကောင်းကောင်းဆိုးဆိုးရွားရွားလုပ်ဆောင်နိုင်ခဲ့ခြင်းကြောင့်အမှားအယွင်းရှိခဲ့ခြင်းဖြစ်နိုင်သည်။ ဤသည်မှာအသေးစိတ်အချက်အလက်များဖြစ်သည်။

အကယ်၍ ကျွန်ုပ်တို့ဘာလုပ်သည်ကိုပေးပို့သည် (ဤကိစ္စတွင် - ping -c 1 အိုင်ပီလိပ်စာ) အမှားမပေးခဲ့လျှင်၎င်းသည်အောင်မြင်ခဲ့သည် ဖြစ်၍ တန်ဖိုးကိုပြန်ပို့ပေးမည်။ 1 ။ မဟုတ်ပါကလုပ်ဆောင်မှု (ဆိုလိုသည်မှာ ping) သည်မအောင်မြင်ပါကတန်ဖိုးကိုပြန်ပေးလိမ့်မည် 0.

 နောက်ဆုံးတော့အထက်ဖော်ပြပါကုဒ်သည်ဘာကိုဆိုလိုသနည်း

တန်ဖိုး 0 င်ထို့နောက်ပြန်ရောက်ခဲ့သည်ဆိုပါက

စာသားကိုပြပါ - «ကွန်ယက်ပေါ်မှာမဟုတ်ပါ»

မဟုတ်ပါ (နှင့် 0 ကိုပြန်ပို့ပါ၊ သို့သော် ၁)

စာသားကိုပြပါ - «ဒါကြောင့်ကွန်ယက်၌တည်ရှိ၏«

ဒါကြောင့် X ကိုအရေးယူအမှားတစ်ခုပေးလျှင်, Y ကိုအရေးယူပြုပါ, နှင့်အမှု၌ X ကိုအရေးယူအမှားမပေးရသေးကြောင်းပြောနိုင်ဖြစ်ဖို့တကယ်အသုံးဝင်သောကြောင့်, ကိုယ့်, သင်တို့အားငါအများကြီးရှင်းပြသောဤအရာ, များစွာသောအရာတို့ကိုအနာဂတျမှာအစေခံပါလိမ့်မယ် Z ကိုအရေးယူ။

တချို့ကနည်းနည်းရှုပ်ထွေးသွားနိုင်တယ်ဆိုတာငါသိတယ်၊ ဒါကြောင့်ငါကနည်းအမျိုးမျိုးနဲ့ရှင်းပြဖို့ကြိုးစားခဲ့တယ်၊ လူတိုင်းကိုတစ်နည်းနည်းနဲ့နားလည်အောင်ကြိုးစားခဲ့တယ်။ တစ်စုံတစ်ယောက်သည်သံသယဖြစ်ခံရလျှင်ကျွန်ုပ်ကိုအသိပေးပါ။

ငါတို့ရဲ့ script ကိုလုပ်ရအောင်

ဤသင်ခန်းစာပါအဆင့်များကိုကျွန်ုပ်တို့လိုက်နာရမည်။ Bash - executable script တစ်ခုလုပ်နည်း

ထို့နောက်အောက်ပါကုဒ်ကိုထိုဖိုင်ထဲသို့ကူးယူကြပါစို့ (script.sh), နှင့်အဆုံးမှာရဲ့ဆိုကြပါစို့ထွက်ပေါက်» (အဆိုပါကိုးကားခြင်းမရှိဘဲ):

ping -c 1 DIRECCION-IP
if [ $? -ne 0 ]; then
echo "No está en red"
else
echo "Sí está en red"
fi

၎င်းသည်ဤကဲ့သို့သောပုံစံမျိုးဖြစ်သင့်သည် (သူတို့ IP-ADDRESS ကိုသူတို့လိုချင်သော IP သို့ပြောင်းလဲခဲ့ကြရမည်ကိုသတိရပါ):

ဒီမှာ run နေသော script ကိုတွေ့နိုင်သည်။

% ကုတ် ၁%

 

သင်မြင်သည်အတိုင်း, အဆုံး၌သူကကျွန်တော်တို့ကိုပြောပြသည်ဟုတ်ပါတယ်၊ ကွန်ရက်ထဲမှာပါ»🙂

ဒီမှာအရေးကြီးတဲ့အချက်ကသူတို့ကဒီအခြေအနေတွေကိုသူတို့တကယ်နားလည်တယ်၊ ဒါကြောင့်ငါနောက်တစ်နည်းထပ်ရှင်းပြဖို့နောက်ထပ်ကုဒ်တစ်ခုချန်ခဲ့တယ်။

read "texto"
if [ "$texto" = "3" ]; then
echo "Correcto"
else
echo "Incorrecto"
fi

ဘာကိုဆိုလိုတာလဲ၊ ရိုးရိုးရှင်းရှင်းရှင်းပြရမယ်။

ပထမမျဉ်း ငါတို့ရေးတာက "variable ရဲ့တန်ဖိုးပဲ။စာရိုက်» (ထိုကိုးကားခြင်းမရှိဘဲ) ။

ဒုတိယမျဉ်း variable (ပါ ၀ င်သည့်အရာ) ၏ content ဟုတ်မဟုတ်စစ်ဆေးပါ 3.

ပထမမျဉ်း ဖြစ်ခြင်း၏အမှု၌ 3အဲဒါကိုကျွန်တော်တို့ကိုစာသားကိုပြသလိမ့်မယ်«Correcto» (ထိုကိုးကားခြင်းမရှိဘဲ) ။

စတုတ္ထလိုင်း ဒီလိုမှမဟုတ်ရင် (ဆိုလိုသည်မှာကျွန်ုပ်တို့သည်စာဖြင့်ရေးသားခြင်းမပြုပါက) ၃ ။

စတုတ္ထလိုင်း ဒါဟာကျွန်တော်တို့ကိုစာသား«ပြသပါလိမ့်မယ်မမှန်ကန်ပါ» (ထိုကိုးကားခြင်းမရှိဘဲ) ။

စတုတ္ထလိုင်း အခြေအနေ၏အဆုံး။

ကျနော်တို့ထားလျှင်သူတို့နားလည်သဘောပေါက်နိုင်ပါပြီအဖြစ် ပဲ့တင်သံ ပြီးတော့နှစ်ဆကိုးကားအကြား («) စာသားတစ်ခု၊ ဒီက terminal ကိုပြသလိမ့်မယ်။ ဆိုလိုသည်မှာ၊

echo "esto es una prueba"

Terminal မှစာကိုပြလိမ့်မည်။ ဒါကစမ်းသပ်မှုပဲ

သို့သော်ဤဒုတိယဥပမာကိုပြန်သွားပါ။ ကျွန်ုပ်သည်ဒုတိယဇာတ်ညွှန်း၏အလွန်အသုံး ၀ င်သောအသုံးအနှုန်းကိုပြသပါမည်။၁ + ၂ ကဘယ်လောက်လဲ။«

ငါသည်သင်တို့ကိုပြီးပြည့်စုံသော script ၏ကုဒ်ထားခဲ့ပါ:

#!/bin/bash
# -*- ENCODING: UTF-8 -*-
echo "¿Cuánto es 1 + 2?"
read "texto"
if [ "$texto" = "3" ]; then
echo "Correcto"
else
echo "Incorrecto"
fi
exit

ဒီမှာ script အလုပ်လုပ်ပုံ။

% ကုတ် ၁%

 

ထိုအ ... add ဖို့နောက်ထပ်ဘာမျှမ။

ဤသည်မှာရိုးရှင်းသော၊ ရိုးရှင်းသောအရာတစ်ခုဖြစ်သည်၊ သို့သော်ကျွန်ုပ်သည်၎င်းအားတတ်နိုင်သမျှရှင်းလင်းစွာရှင်းပြရန်ကြိုးစားခဲ့သော်လည်းလူတိုင်းတွင်ပရိုဂရမ်မာတစ်ယောက်၏စိတ်ဝိညာဉ်မရှိသဖြင့်ဤကဲ့သို့သော script များပြုလုပ်ရန်လိုအပ်သည် (သို့မဟုတ်အလားတူ)၊ မည်သည့်ကိစ္စတွင်မဆိုဤဆောင်းပါးသည်သင့်အတွက်အသုံးဝင်လိမ့်မည်ဟုမျှော်လင့်ပါသည်။ တစ်စုံတစ်ယောက်🙂

မည်သည့်သံသယသို့မဟုတ်မေးခွန်း၊ မကျေနပ်ချက်သို့မဟုတ်အကြံပြုချက်ကိုဤနေရာတွင်မထားပါ။ ကျွန်ုပ်အားဝမ်းမြောက်စွာဖြေကြားပါမည်။

ပတ်သတ်ပြီး


ဆောင်းပါး၏ပါ ၀ င်မှုသည်ကျွန်ုပ်တို့၏အခြေခံမူများကိုလိုက်နာသည် အယ်ဒီတာအဖွဲ့ကျင့်ဝတ်။ အမှားတစ်ခုကိုသတင်းပို့ရန်ကလစ်နှိပ်ပါ ဒီမှာ.

26 မှတ်ချက်များ, သင့်စွန့်ခွာ

သင်၏ထင်မြင်ချက်ကိုချန်ထားပါ

သင့်အီးမေးလ်လိပ်စာပုံနှိပ်ထုတ်ဝေမည်မဟုတ်ပါ။ တောင်းဆိုနေတဲ့လယ်ယာနှင့်အတူမှတ်သားထားတဲ့ *

*

*

  1. အချက်အလက်အတွက်တာဝန်ရှိသည် - Miguel ÁngelGatón
  2. အချက်အလက်များ၏ရည်ရွယ်ချက်: ထိန်းချုပ်ခြင်း SPAM, မှတ်ချက်စီမံခန့်ခွဲမှု။
  3. တရားဝင်: သင်၏ခွင့်ပြုချက်
  4. အချက်အလက်များ၏ဆက်သွယ်မှု - ဒေတာများကိုဥပဒေအရတာ ၀ န်ယူမှုမှ လွဲ၍ တတိယပါတီများသို့ဆက်သွယ်မည်မဟုတ်ပါ။
  5. ဒေတာသိမ်းဆည်းခြင်း: Occentus ကွန်ယက်များ (အီးယူ) မှလက်ခံသည့်ဒေတာဘေ့စ
  6. အခွင့်အရေး - မည်သည့်အချိန်တွင်မဆိုသင်၏အချက်အလက်များကိုကန့်သတ်၊

  1.   jhals ဟုသူကပြောသည်

    သင်ကလိုလားသူတစ် ဦး ဖြစ်သည် !!! * သို့မဟုတ် *

    1.    KZKG ^ Gaara ဟုသူကပြောသည်

      ဘာမှမရှိဘူး ah
      အကယ်၍ ၎င်းသည်သင့်ကို ၀ န်ဆောင်မှုပေးပြီးစိတ်ဝင်စားပါကကျွန်ုပ်ကျေနပ်မိသည်

      မင်္ဂလာပါမိတ်ဆွေ

  2.   သငျ့လျြောသော ဟုသူကပြောသည်

    @ KZKG ^ Gaara,
    bash ပရိုဂရမ်းမင်းပြောခြင်းမှာငါမှာမေးခွန်းတစ်ခုရှိတယ်။
    VAR = hello ကဲ့သို့သော variable တစ်ခုကိုကြေငြာခြင်းနှင့် VAR = $ {VAR: -hello} ကဲ့သို့ကြေငြာခြင်းသည်မည်သို့ကွာခြားသနည်း။

    ငါရှင်းပြတယ်
    http://pastebin.com/a3cfWXeD

    ကြိုဆိုပါတယ်😉

    1.    KZKG ^ Gaara ဟုသူကပြောသည်

      မင်္ဂလာပါ
      ကောင်းပြီ, ငါလုံးဝမှာ bash ကျွမ်းကျင်သူမဟုတ်ပါဘူး ... တကယ်တော့ငါ LOL စိတ်ကူးရှိသည်မဟုတ် !!
      ဒီ variable တွေကိုကျွန်တော်ကြေငြာလိုက်တာနဲ့ဒါက:
      : ${OPTFOLDER:="/opt/"}

      ဒါပေမယ့်ငါဒီလိုမျိုးအမြဲတမ်းလုပ်ခဲ့တာမို့ခြားနားချက်ကဘာလဲဆိုတာရိုးသားစွာမသိနိုင်🙁

  3.   သငျ့လျြောသော ဟုသူကပြောသည်

    @ KZKG ^ Gaara
    ကောင်းပြီ၊ ကျွန်ုပ်မေးခွန်းမေးခဲ့သည်၊ ဘာကြောင့်လဲဆိုတော့အမှန်တရားဟာကျွန်ုပ်မသိတာပါ၊ ပုံမှန်အားဖြင့် SlackBuilds ကိုကျွန်ုပ်ရေးလေ့ရှိပြီး၊ အမှန်တရားကတော့ VAR1 မှာဖော်ပြထားတဲ့ variable များသည်ဤ script များ၌များစွာရှိသည်။ google အမြန်ရှာဖွေခြင်းကဒီမေးခွန်းကိုရှင်းရှင်းလင်းလင်းနားလည်စေတယ်။ ငါတို့အားလုံးကိုလေ့လာနိုင်ဖို့လူတိုင်းကိုမျှဝေလိုက်တယ်။

    ဇာတ်ညွှန်း -
    http://pastebin.com/faAQb35w

    ရှင်းလင်းချက်
    VAR = $ {VAR: -default_value} ပုံစံ၏ variable များကိုကြေငြာခြင်းဆိုသည်မှာ VAR သည်တန်ဖိုး null (သို့) မတည်ရှိပါက default_value တန်ဖိုးကိုသာယူလိမ့်မည်ဟုဆိုလိုသည်။

    လက်တွေ့ဥပမာ:
    Script အလုပ်လုပ်နေသောအခါ VAR variable တွင်သိမ်းဆည်းထားမည့်တန်ဖိုးကိုထည့်ရန်တောင်းဆိုသည်။ တစ်ခုခုထည့်သွင်းလိုက်လျှင်ထည့်သွင်းလိုက်သောအရာကိုပြလိမ့်မည်။ ဘာမှမရိုက်ထည့်ပါနှင့် enter ကိုနှိပ်လျှင် VAR ကို null ဟုကြေငြာမည်ဆိုပါက value_default ကိုပြသည်။

    မေတ္တာနှင့်ကြားလိုက်ပါ၏။

    1.    KZKG ^ Gaara ဟုသူကပြောသည်

      ဟားဟားငါမသိဘူး😀
      အိုကေ၊ သူငယ်ချင်းတစ်ယောက်၊ ကျေးဇူးတင်ပါတယ်၊ ဆောင်းပါးရဲ့အဆုံးကိုဆိုလိုတာပါ၊ ငါသင်ပေးဖို့မရည်ရွယ်တော့ဘူး၊ အဲဒါလည်းဖြစ်တယ်၊ ငါဒီနေရာမှာအသစ်အဆန်းတစ်ခုခုကိုအမြဲတမ်းလေ့လာမယ်ဆိုတာငါသိတယ်😀😀

      တခါထပ်ကျေးဇူးတင်ပါတယ်။

      1.    သငျ့လျြောသော ဟုသူကပြောသည်

        မင်းမှန်တယ်၊ ဒီမှာတစ်ခုကအများကြီးသင်ယူတယ်။

        နှုတ်ခွန်းဆက်နှင့်ပျော်ရွှင်သောအားလပ်ရက်များ !! 😀

  4.   လူးကပ်စ Matias ဟုသူကပြောသည်

    ကြောက်မက်ဖွယ်ကောင်းသောနှင့်ထူးခြားစွာရှင်းပြထားသော +1၊ သင်အချိန်ယူပါလိမ့်မည်။
    ဒါပေမယ့်ငါကြိုးစားရကျိုးနပ်တယ်😉

    1.    KZKG ^ Gaara ဟုသူကပြောသည်

      ၁ ရက်အတွင်း ၈၀ ရာခိုင်နှုန်းလောက်ကျွန်တော်တကယ်ရေးခဲ့တယ်၊ အင်တာနက်ကငါ့ကိုခွင့်မပြုတဲ့အတွက်ငါတင်ဖို့အချိန်တော်တော်များများယူခဲ့တယ်။
      မှတ်ချက်ပေးတဲ့အတွက်ကျေးဇူးတင်ပါတယ်😉

  5.   ဟူဂို ဟုသူကပြောသည်

    နောက်ထပ်နည်းလမ်းတစ်ခုမှာတစ်ခါတစ်ရံတွင် network များ ICMP protocol ကိုပိတ်ဆို့ထားသောကြောင့် DNS ကိုသုံးခြင်းဖြစ်သည်။

    (host -ta IP-ADDRESS> / dev / null 2> & 1) && echo "ချိတ်ဆက်ထားသည်"

    ဤဥပမာတွင် return value သည် implicit ဖြစ်ကြောင်းကိုလည်းသတိပြုမိလိမ့်မည်

    1.    KZKG ^ Gaara ဟုသူကပြောသည်

      သငျသညျအစဉ်အမြဲမိတ်ဆွေအဖြစ်, ငါလုံးဝ HAHAHA မသိသောအကြံပေးချက်များနှင့်အတူ။
      ကျေးဇူးတင်ပါတယ်။ မှတ်ချက်ကိုကျေးဇူးတင်ပါတယ်။ နောက် ... နောက်ထပ်သင်ယူစရာတစ်ခု။ 😀

  6.   Datux ဟုသူကပြောသည်

    ကြေးဇူးတငျစကား

    🙂

  7.   Leper_Ivan ဟုသူကပြောသည်

    ဒီခေါင်းစဉ်ကိုပုံနှိပ်ထုတ်ဝေပြီးရက်အနည်းငယ်အကြာမှာတောင်မှကျွန်တော့်အတွက်အများကြီးအကျိုးရှိလာတယ်။ အခုငါ bash script ကိုလုပ်လိုက်တယ်။ ကျေးဇူးတင်ပါတယ်။ Gaara ..

  8.   Edgar navarro ဟုသူကပြောသည်

    ဒေါက်တာ။ ငါ့ကိုနားလည်အောင်ကူညီပေးတဲ့အတွက်ကျေးဇူးတင်ပါတယ်။

    စုံစမ်းမှုတစ်ခုအနေနှင့်ကွန်ပျူတာတစ်လုံးကအခြားတစ်ခုကိုအလိုအလျောက် pinging မလုပ်တော့သောအခါ IP ကိုပြောင်းလဲပစ်နိုင်သည်။ ငါဒါရှိတယ်။

    IP ကိုပြောင်းလဲပစ်ရန်
    #! / bin / bash
    ping -c 10 192.168.1.50 # ကအလိုအလျောက် ping မပါလျှင်
    ifconfig eth0 192.168.1.50 netmask 255.255.255.0 192.168.1.0 ထုတ်လွှင့်
    ifconfig eth0 ချ
    ifconfig eth0 တက်

  9.   Ahraham ဟုသူကပြောသည်

    ဘာလို့လဲဆိုတော့သင်မေးခွန်းအမှတ်အသားကိုသုံးလျှင်နှင့်နှိုင်းယှဉ်သောအခါ? ချပြီးဘာကွာခြားလဲ။ အခြားစာတစ်စောင်

    1.    KZKG ^ Gaara ဟုသူကပြောသည်

      $? ဆိုလိုသည်မှာ 'ယခင် output သို့မဟုတ် output' ကိုဆိုလိုသည်၊ ဆိုလိုသည်မှာယခင် command ၏ရလဒ် ... 🙂

      1.    အင်ဒရူး ဟုသူကပြောသည်

        အလားတူရလဒ်ကိုရရှိရန်နောက်ထပ်နည်းလမ်းတစ်ခုရှိလျှင်၊ ping command ကိုအငြင်းအခုံတစ်ခုအဖြစ်တိုက်ရိုက်လွှဲပြောင်းပါ။

        ping -c 1 IP-ADDRESS ဖြစ်ပါက၊ ထို့နောက်
        ပဲ့တင်သံ "ဟုတ်တယ်ပိုက်ကွန်ပေါ်မှာ"
        အခြားသူ
        ပစ္စုပ္ပန် "ကွန်ယက်ပေါ်မှာမဟုတ်"
        fi

        ဘာဖြစ်သွားလဲဆိုတော့သင် command တစ်ခုရဲ့ return value ကိုအငြင်းအခုံအဖြစ်သတ်မှတ်လျှင်၊ 0 က return ပြန်လျှင်၊ မှန်လျှင်အခြားမည်သည့်အရာကမဆို false ဖြစ်သည်။ square brackets များသည် test command နှင့်ညီသည်။ သို့သော်သင်သည်မည်သည့် command ကိုမဆိုအငြင်းအခုံပြုနိုင်သည် (Command သည်တန်ဖိုးအချို့ကိုပြန်လည်ပေး သ၍) ။

  10.   ပတ်သတ်ပြီး ဟုသူကပြောသည်

    မင်္ဂလာပါ၊ အသုံးပြုသူ Y ကိုဖန်တီးသော script တွင် user X နှင့် script.sh ကိုမည်သို့လုပ်ရမည်နည်း။ ထိုသုံးစွဲသူ Y သည် script.sh ကိုဆက်လက်လုပ်ဆောင်နေသည်။

    ဒီဟာကိုလုပ်နိုင်လား ??

  11.   ကျောက်တံတား ဟုသူကပြောသည်

    အရမ်းစိတ်ဝင်စားဖို့ကောင်းပါတယ်။

  12.   francisco ဟုသူကပြောသည်

    ထည့် ၀ င်မှုအတွက်ကျေးဇူးတင်ပါတယ်။ ငါ xD ကိုနားလည်ဖို့တစ်နာရီလောက်ကြာခဲ့ပါပြီ။

  13.   .ရာဝတီ ဟုသူကပြောသည်

    ဇာတ်ညွှန်းကောင်းပါတယ် ဂဏန်းသင်္ချာနည်းအရ၎င်းသည် ($? == 0) သုညနှင့်ညီမျှလျှင်၎င်းသည်ကွန်ယက်ပေါ်တွင်မဟုတ်ပါ၊ မဟုတ်လျှင်ကွန်ယက်ပေါ်တွင်ရှိသည်။ ပြီးတော့ဒါကိုနည်းနည်းပိုပြီးအပြန်အလှန်တုံ့ပြန်ချင်တယ်ဆိုရင်၊ ငါတို့ပြောနိုင်ပါတယ်။
    echo -n အိုင်ပီရိုက်ထည့်ပါ။
    ip ကိုဖတ်ပါ
    ping -c 1 $ ip

  14.   Dario ဟုသူကပြောသည်

    မင်္ဂလာပါ၊ ကျွန်ုပ်သည်ဤအရာသည်အသစ်ဖြစ်သည်၊ ကျွန်ုပ်သည် read number မှတဆင့်လက်မှတ်နံပါတ် (အက္ခရာနံပါတ်များကို) လုပ်ရန်ကြိုးစားနေသည်။ အကယ်၍ ထည့်သွင်းထားသည့်အရာသည်မှန်ကန်သော format (ABC-123456) ၏ "x" command ကိုလုပ်ဆောင်စေလိုသည်။ ငါဘယ်လိုလုပ်ရမယ်ဆိုတာမသိဘူး၊ ငါ့ကိုကူညီနိုင်မလား?

    "လက်မှတ်ကိုထည့်ပါ" ပဲ့တင်သံ
    -p လက်မှတ်ကိုဖတ်ပါ

    if $ ticket = "စိတ်ကူးမရှိ (ABC-123456 format"); ထို့နောက် cp file.txt $ လက်မှတ်; အခြားသည်မှားယွင်းသောပုံစံကိုထပ်ကြိုးစားပါ။ read -p; fi ။

    သေချာတာပေါ့၊ သူတို့တွေဟာဟားဟားရယ်မောကြတယ်၊ ဒါပေမယ့်ငါပြောတာကမင်းကဒါနဲ့စတာပဲ။

    ငါမကောင်းတဲ့ရှင်းပြမယ်ဆိုရင်ငါ့ကိုပြောပြပါ၊ ငါပိုကောင်းအောင်လုပ်ဖို့ကြိုးစားမယ်။

    လူတိုင်းကိုဖက်ပါ

  15.   Humberto Y ဟုသူကပြောသည်

    အကောင်းဆုံးရှင်းပြချက်, နှုတ်ခွန်းဆက်စကား

  16.   တသမတ်တည်း ဟုသူကပြောသည်

    if, else နဲ့ တခြားသူတွေနဲ့ သံသယနည်းနည်းရှိတယ်။
    ဖိုင်တစ်ခုရှိမရှိ (မှတ်တမ်းများထဲမှတစ်ခု) ရှိမရှိစစ်ဆေးရန် script တစ်ခုကို လိုချင်ပြီး မဟုတ်ပါက ၎င်းကိုဖန်တီးပြီး နောက်ပိုင်းတွင် ၎င်းထံသို့ စာရေးပါ။ ဒါ​ပေမယ့်​ ရှိရင်​​တော့ ​ရေး​ပေး​စေချင်​ပါတယ်​။

    ငါ့မှာရှိတာက-

    date = `ရက်စွဲ -R`
    # ကျွန်ုပ်သည် စတင်ခြင်းကြားတွင် မွမ်းမံမွမ်းမံထားသော ရက်စွဲကို စမ်းသပ်နေပါသည်။
    # လုပ်ငန်းစဉ်ပြီးဆုံးသည် ၊ တစ်ခါတစ်ရံတွင် တစ်နာရီကျော်သွားနိုင်ပြီး မှန်ကန်သောအချိန်သည် ထွက်မလာပါ။

    အကယ်၍ [-f /home/user/logs/test.log];
    ထိုအခါ
    /home/usuario/logs/test.log ကို တို့ပါ။
    အခြားသူ
    ပဲ့တင်သံ "$ date: Updated" >> /home/user/logs/test.log
    ပဲ့တင်သံ « ———————————————-» >> /home/user/logs/test.log
    fi

    သီအိုရီအရ ၎င်းသည် ကောင်းမွန်သင့်သည်၊ သို့သော် အမှန်မှာ ကိုးကားထားသောဖိုင်ရှိနေပြီဆိုလျှင် ၎င်းကို အပ်ဒိတ်လုပ်မည်မဟုတ်ပါ။

    1.    တသမတ်တည်း ဟုသူကပြောသည်

      တောင်းပန်ပါတယ် အဲဒါကို မပို့ဖြစ်တာ နှစ်ဆတိုးသွားတယ်။