Menu
Coddy logo textTech

Betiklerde Kullanıcı Girdisi

Coddy'nin Terminal Journey'sinin Temeller bölümünün bir parçası — ders 69 / 82.

Değişkenler faydalıdır, ancak bazen betiğinizin çalışırken kullanıcıdan bilgi istemesini istersiniz. read komutu betiği duraklatır ve kullanıcının bir şey yazmasını bekler, ardından o girdiyi bir değişkende saklar.

İşte nasıl çalıştığı:

#!/bin/bash
echo "What is your name?"
read name
echo "Hello, $name!"

Bu betik çalıştırıldığında, soruyu yazdırır, kullanıcının adını yazıp Enter tuşuna basmasını bekler, ardından onları selamlar. read komutu, kullanıcının yazdığı her şeyi name değişkenine depolar.

-p bayrağını kullanarak istemi daha temiz hale getirebilirsiniz, bu bayrak istem mesajını ve girdiyi aynı satırda birleştirir:

#!/bin/bash
read -p "Enter your name: " name
echo "Hello, $name!"

Bu, Enter your name: gösterir ve aynı satırda giriş bekler, bu da daha düzgün görünür. -p bayrağı prompt metnini argüman olarak alır, ardından girdiyi saklamak için değişken adını belirtir.

Kullanıcı girdisi betikleri etkileşimli ve uyarlanabilir kılar. Değerleri sabit kodlamak yerine, kullanıcının her çalıştırdığında sağladığı girdiye göre farklı şekilde çalışan tek bir betik yazabilirsiniz.

challenge icon

Görev

Kolay

greeter.sh adlı bir kabuk betiği oluşturun; bu betik kullanıcıdan en sevdiği rengi sorsun ve girdilerini kullanarak bir mesaj göstersin.

Betikiniz şunları yapmalıdır:

  1. Shebang satırıyla başlamalı (#!/bin/bash)
  2. read'i -p bayrağıyla kullanarak şu prompt'u vermeli: What is your favorite color?
  3. Girdiyi color adlı bir değişkende saklamalı
  4. echo kullanarak şunu yazdırmalı: Nice! [color] is a great color! (burada [color] kullanıcının girdisidir)

Betiği çalıştırılabilir hale getirin ve çalıştırın. Sorulduğunda cevabınız olarak blue girin.

Çıktınız şöyle olmalıdır:

What is your favorite color? blue
Nice! blue is a great color!

İpucu: Betiği satır satır echo ile yönlendirme kullanarak oluşturun. Girdiyi yakalamak ve prompt etmek için read -p "What is your favorite color? " color kullanın, ardından sonucu görüntülemek için echo "Nice! $color is a great color!" kullanın.

Kopya kağıdı

read komutu betiği duraklatır ve kullanıcı girdisini bekler, ardından bunu bir değişkende saklar:

#!/bin/bash
echo "What is your name?"
read name
echo "Hello, $name!"

İstem ve girdiyi aynı satırda göstermek için -p bayrağını kullanın:

#!/bin/bash
read -p "Enter your name: " name
echo "Hello, $name!"

-p bayrağı istek metnini argüman olarak alır, ardından girdiyi saklayacak değişken adıyla takip edilir.

Kendin dene

Terminal
quiz iconKendini test et

Bu ders kısa bir quiz içerir. Soruları yanıtlamak ve ilerlemeni kaydetmek için derse başla.

Temeller bölümündeki tüm dersler