Linux kabuğunda echo $ 1 ne yapmalı?


11

Bir yapıyorum echo $1, kullanılan varsayılan giriş kabuğunun ne olduğunu yazdırır.

Ama bundan echo $2sonra, elde ettiğim tek şey bir yeni satır. Neden?

Yanıtlar:


21

$ 1 (veya $ 2, $ 3 ...) bazı senaryolara verilen argümanlardır.

İşte bir örnek komut dosyası:

#!/bin/bash

echo "\$1 is now $1"
echo "\$2 is now $2"
echo "\$3 is now $3"

Ve örnek çıktı

jaba@lappy:/tmp$ ./example.sh 
$1 is now 
$2 is now 
$3 is now 
jaba@lappy:/tmp$ ./example.sh 1 2 3
$1 is now 1
$2 is now 2
$3 is now 3

1
Ve $ 0, argv'ye benzer şekilde yürütülen komut dosyasının adıdır.
Benjamin Bannier

4

$ 1 kabuk betiği için iletilen bağımsız değişkendir.

Farzedelim ki sen koş

./myscript.sh hello 123 

sonra

1 $ merhaba olacak

2 $ 123 olacak


3

Sizin durumunuzda $ 1 varsayılan oturum açma kabuğunu yazdırır, çünkü bu argüman oturum açma kabuğunuzu çalıştıran komut dosyasına geçirilmiştir. Ancak mevcut oturumda kendi komut dosyanızı yazar ve çalıştırırsanız, $ 1, $ 2, ... komut dosyanıza gönderdiğiniz parametreler olacaktır.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.