2014-06-19 11 views
12

Piszę dokumentację w markdown i chcę udokumentować, jak utworzyć plik tekstowy za pomocą basha HEREDOC. Oto polecenie Chcę udokumentować:W jaki sposób można uciec wrzutów w przecenach?

# cat > /tmp/answers.txt <<EOT 
> value1=blah 
> value2=something else 
> value3=`hostname` 
> value4=onetwothree 
EOT 

W jednym wyprzedaży używa `do renderowania tekstu jako„kod”Próbowałem to zrobić ...

`# cat > /tmp/answers.txt <<EOT` 
`> value1=blah` 
`> value2=something else` 
`> value3=\`hostname\`` 
`> value4=onetwothree` 
`EOT` 

... ale wyniki w coś, co wygląda tak ...

# cat > /tmp/answers.txt <<EOT 
> value1=blah 
> value2=something else 
> value3=\ 

hostname
> value4 = onetwothree
EOT

Odpowiedz

6

poniżej Blok ten kod załatwia sprawę.

``` 
# cat > /tmp/answers.txt <<EOT 
> value1=blah 
> value2=something else 
> value3=`hostname` 
> value4=onetwothree 
EOT 
``` 

Trzy Backtick oznacza fragment kodu, a fragment musi się kończyć trzema innymi Backtick.

uzyskać więcej pomocy z promocji cenowych przekazać ten CheatSheet.

6

Myślę, że trzeba zmienić "separator" z jednego kleszcza do tyłu podwójne ...

tj .: ``value3=\`hostname\` ``

powinien uczynić

> value3=\`hostname\`

+1

Dzięki za odpowiedź, ale to nie rozwiązuje mojego problemu. Myślę, że pójdę z '> value3 = $ (hostname)' i zrezygnuję z używania starych backticków szkolnych w moich skryptach. –

+0

@RedCricket: Zaktualizowałem moje komentarze o lepsze formatowanie. Nie jestem pewien, czy to ci pomoże, ale możesz użyć tylu tyknięć, ile potrzebujesz, aby rozpocząć/zakończyć linię. Jeśli użyjesz 3 (na przykład), wtedy 1 lub 2 tyknięcia z powrotem są renderowane poprawnie. Myślę, że twoje rozwiązanie też będzie działać –

+0

@RobertEkendahl to działało dla mnie.Myślę, że ogólne rozwiązanie tego problemu polega na tym, że jeśli chcesz użyć wstecznego znacznika wewnątrz bloku kodu, nie możesz go ogrodzić pojedynczymi tyłowymi znacznikami. potrzebujesz podwójnego lub potrójnego. Dzięki! –

15

The original Markdown syntax documentation covers this; mówi, że trzeba korzystać z wielu odwrócone, pojedyncze apostrofy do wspornik wyrażenie kodu, tak jak to:

``here you go - ` this was a backtick`` 

czyni tak:

here you go - ` this was a backtick

Jeśli chcesz zawierać znaku odwróconego apostrofu w normalny tekst, nie w bloku kodu, ucieczka z ukośnikiem odwrotnym działa; na przykład w ten sposób:

Here's a backtick: \`; then, here's another one: \` 

czyni tak:

Oto lewy apostrof: `; Następnie, oto jeszcze jeden: `

(testowałem to na commonmark i github i zachowuje się tak samo, więc nie tylko kuriozum SO)

+0

I pomysł, jak uzyskać regularny zestaw backticks do renderowania w postaci zwykłego tekstu? –

+1

@WaltStoneburner Odpowiedź zaktualizowana. – Glyph

Powiązane problemy