Komut satırında "ve" işareti nasıl atlanır?


14

Komut satırına bir Google Haritalar Yol Tarifi URL'si girerken (Terminal aracılığıyla krom tarayıcı ile açmak için &) URL'de bir "ve" işareti bulunur , ancak Unix öğelerinin Unix öğesi olması nedeniyle terminal bunu kırır. Komut gerçekten geçtiğinde, bir "ve" işareti gibi davranılacak terminale yazabileceğim bir şey var mı?

Will; amp; iş?

Yanıtlar:


16

Adresi tırnak içine almanız gerekir:

chromium-browser 'http://whatever.com/?x=1&y=2'

Tamam, sonda alıntı yaptım, ama ön taraftaki ... değil açıklayan. Teşekkür ederim.
Leron

7

Alıntılar bunu düzeltir, ancak ters eğik çizgi ile bazı şeylerden de kaçabilirsiniz:

echo http://whatever.com/?x=1\&y=2

Bunun daha iyi olduğunu söylememek, hiçbir şekilde, böyle durumlar için sadece başka bir seçenek.


1

Bu durumda aslında önemli olmayacak, ancak tek tırnak ve çift tırnak arasında bir fark var.

Çift tırnak işaretleri '$' ve tırnak işaretleri gibi özel karakterlerin yerine geçerken, tek tırnak işaretleri kapanış tekli alıntı hariç her şeyi tam anlamıyla ele alır.

Her ikisi de metni bir araya getirerek kromun tek bir argüman olarak ele alınmasına neden olur ve "; # &" gibi karakterlerin bu bağlamda özel bir anlamı yoktur.

Bu, çift tırnak içinde çift tırnaktan kaçmak için '\' kullanımını ve ters eğik çizginin kendisini gösterir:

mat@sen:~$ echo "a&bc\\#de\"f"
a&bc\#de"f

Tek tırnak işaretleri ile hiçbir şey değişmez:

mat@sen:~$ echo 'a&bc\\#de\"f'
a&bc\\#de\"f

Tırnak işaretleri olmadan '&' iki komuta böler:

mat@sen:~$ echo a&bc\\#de\"f
[1] 2619
a
bc\#de"f: command not found
[1]+  Done                    echo a
[1]+  Done                    echo a

Genellikle bir tür teklifle uğraşırken onu diğer tipte sarabilirsiniz, ancak bununla ilgili sorun yaşayabilirsiniz:

mat@sen:~$ echo "'a'bc$foo"
'a'bc

Tek tırnak işaretleri değiştirilmez, ancak '$' kullanılır. Aşağıdaki sözdizimi çalışır:

mat@sen:~$ echo $'a\'bc$foo'
a'bc$foo
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.