Bu komut ne anlama geliyor ?

Başlatan Mx0Ub, 28 Haziran 2010 - 21:36:48

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

Mx0Ub

İyi günler.
ping -c 1 $1 > /dev/null 2>&1
Not:
Hic bi sorumluluk kabul edilmez yapılan yorumlardan ve verilen kodlardan

ironic

betik bir girdiyle (./betik www.google.com gibi )  çalıştırıldığında ping testi yapar   herhangi bir hata ve çıktı vermez.


Mx0Ub

Hocam surayı biraz daha ayrıntılı yazarmısın
$1 > /dev/null 2>&1
Not:
Hic bi sorumluluk kabul edilmez yapılan yorumlardan ve verilen kodlardan

ironic

$0 = betiğin adıdır.
$1 = betiğin adından sonra girilen birinci ifadedir. ÖR:  ./betik adı  --terminal   Burda $1  --terminal oluyor.

komut için değişken $1 oluyor.  Betiği bir ifade ile birlikte çalıştırdığında ping komutu o ifadeyi işleme koyar.


> /dev/null normal komutun/ işlemin vereceği standart çıktıyı null' a yönlendirir. Bir nevi karadelik gibi düşün.

2>&1 '   de ise    > /dev/null ' a yönlendirilemeyen standart hatalar , standart çıktıya yönlendirilir. Zaten standart çıktı da null a yönlendirdildiğinden standart hatalarda ekrana basılmaz.

Basit bir betik hazırladım. Üzerinde oynamaya yaparak daha iyi anlayabilirsin.


#!/bin/bash


if [ -z $1 ]
then
   echo "Lütfen bir adres ile betiği çalıştırın.." ; sleep 4; exit 1
fi   

if ping -c 1 $1 > /dev/null 2>&1
then
    echo " '$1' adresine ping atabiliyorum. Bağlantın var"
else
    echo " '$1' adresine ping atamıyorum. Bağlantın yok ya da girilen adres hatalı ya da yanıt vermiyor"
fi




Mx0Ub

Not:
Hic bi sorumluluk kabul edilmez yapılan yorumlardan ve verilen kodlardan