Bash'te çift tırnak ve tek tırnak içinde ters tırnak kullanma farkı


12

Aşağıdaki iki yürütme neden çıktı bakımından farklılık gösterir? (Son komutumda değişkenler için çift tırnak işareti kullanmam gerekiyor)

$ sudo su -c "echo `cat /root/root_file`"
cat: /root/root_file: Permission denied
$ sudo su -c 'echo `cat /root/root_file`'
Yay, highly classified content!

Yanıtlar:



6

İlk örnekte backticks merminiz tarafından değerlendirilir (kök olarak değil). İle deneyin

sudo su -c "echo `whoami`"

Tek tırnaklı ikincisinde 'tüm dize echo `cat /root/root_file`kök kabuğa geçirilir.

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.