GNU/Linux >> Belajar Linux >  >> Linux

Perbedaan Antara '$ . Foo' Dan '$ ./foo'??

Pertanyaan ini sudah memiliki jawaban di sini :Apa perbedaan antara sourcing ('.' atau 'source') dan mengeksekusi file di bash?

(5 jawaban)
Tutup 6 tahun yang lalu.

t adalah script sederhana
Apa perbedaan antara dua kasus di bawah ini :

$ .  t

dan

$ ./t

Jawaban yang Diterima:

. t tidak akan membuka shell baru untuk menjalankan t, jadi semua variabel yang dibuat atau dimodifikasi akan tetap ada setelah dieksekusi. t akan dicari di $PATH, jadi jika Anda ingin menjalankan t dari jalur di mana Anda berada sekarang, perintahnya seharusnya . ./t

./t akan mengeksekusi t yang berada di jalur di mana kita sekarang sedang menelurkan shell untuk dieksekusi.

Untuk memperjelas sedikit lebih. Misalkan t berisi:

#!/bin/bash 
data=hello 

Setelah Anda menjalankan ./t Anda dapat echo $data dari baris perintah dan Anda tidak akan mendapatkan apa-apa, tetapi jika Anda menjalankan . ./t dan jalankan echo $data Anda akan menerima salam di layar Anda.


Linux
  1. Linux:Perbedaan Antara /dev/console , /dev/tty Dan /dev/tty0?

  2. Perbedaan Antara 2>&-, 2>/dev/null, |&, &>/dev/null Dan>/dev/null 2>&1?

  3. Apa Perbedaan Antara Sudo Su – Dan Sudo Su —?

  1. Perbedaan Getty dan Agetty?

  2. Apa Perbedaan Antara /sbin/nologin Dan /bin/false?

  3. Perbedaan Antara "du -sh *" Dan "du -sh ./*"?

  1. Perbedaan Antara /opt Dan /usr/local?

  2. Perbedaan Antara ~/.profile Dan ~/.bash_profile?

  3. Perbedaan Nss dan Pam?