Saya melakukan echo $1
, itu mencetak apa shell login default yang digunakan.
Tapi untuk echo $2
selanjutnya, yang saya dapatkan hanyalah baris baru. Mengapa demikian?
$ 1 (atau $ 2, $ 3 ...) seharusnya menjadi argumen yang diberikan kepada beberapa skrip.
Berikut ini contoh skrip:
#!/bin/bash
echo "\$1 is now $1"
echo "\$2 is now $2"
echo "\$3 is now $3"
Dan contoh outputnya
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
Misalkan, Anda lari
kemudian
sumber
Dalam kasus Anda $ 1 mencetak shell login default yang digunakan karena argumen ini diteruskan ke skrip yang menjalankan shell login Anda. Tetapi jika Anda akan menulis dan menjalankan skrip Anda sendiri di sesi saat ini, $ 1, $ 2, ... akan menjadi parameter yang Anda kirim ke skrip Anda.
sumber