jaký je rozdíl mezi $ (stuff) a `stuff`?
<p>existují dvě syntaxe pro nahrazení příkazů: s kulatými závorkami a backticky. spuštění <code>top -p $(pidof init)</code> a <code>top -p `pidof init`</code> dává stejný výstup. jsou tyto dva způsoby, jak dělat to samé, nebo existují rozdíly?</p>
<p>backquoty ve starém stylu <code>` `</code> zpracovávají zpětná lomítka a vnořují se trochu jinak. nový styl <code>$()</code> interpretuje vše mezi <code>( )</code> jako příkaz.</p><pre><code>echo $(uname | $(echo cat)) linux echo `uname | `echo cat`` bash: command substitution: line 2: syntax error: unexpected end of file echo cat </code></pre><p>funguje, pokud jsou vnořené zpětné uvozovky uniknuty:</p><pre><code>echo `uname | \`echo cat\`` linux </code></pre><p>zpětné lomítko zábava:</p><pre><code>echo $(echo '\\') \\ echo `echo '\\'` \ </code></pre><p>nový styl <code>$()</code> platí pro všechny <a href="http://www.opengroup.org/onlinepubs/009695399/utilities/xcu\_chap02.html#tag\_02\_06\_03"> posix </a> - shodné náboje.<br> jak poukázal <a href="https://unix.stackexchange.com/questions/5778/whats-the-difference-between-stuff-and-stuff/5793#5793">mouviciel</a> , pro starší mušle může být nezbytný starý styl <code>` `</code>.</p><p>kromě technického hlediska má starý styl <code>` `</code> také vizuální nevýhodu:</p><ul> <li>těžko si všimnout: <code>i like $(program) better than `program`</code></li> <li>snadno zaměňovaný s jediným citátem: <code>'`'`''`''`'`''`'</code></li> <li>není tak snadné psát (možná ani na standardní rozložení klávesnice)</li> </ul><p><sub>(a se používá <code>` `</code> pro svůj vlastní účel, byla to bolest psaní této odpovědi :)</sub></p>
Pojďme pedantský, protože existují rozdíly, které mohou skutečně ovlivnit chování Váš kód je. Hodně z následujících je převzat z připomínek k [„Old New Thing“ článek](http://blogs.msdn.com/oldnewthing/archive/2006/12/14/1285437.aspx) .


Někdy se vrátila paměť novým operátorem se inicializuje, a někdy to nebude v závislosti na tom, zda jste typ newing up je [POD (obyčejné data)](https://stackoverflow.com/questions/146452/what-are-pod-types-in-c) , nebo pokud se jedná o třídu, která obsahuje členy POD a za použití kompilátor generované výchozí konstruktor.


* V jazyce C ++ 1998 jsou k dispozici 2 druhy inicializace: nuly a výchozí
* V jazyce C ++ 2003, byla přidána třetí typ inicializace inicializační hodnota.


Převzít:



```
struct A { int m; }; // POD
struct B { ~B(); int m; }; // non-POD, compiler generated default ctor
struct C { C() : m() {}; ~C(); int m; }; // non-POD, default-initialising m

```

V C ++ 98 kompilátor, by mělo dojít k následujícímu:


* `new A` - neurčitý hodnota
* `new A()` - zero-initialize
* `new B` - výchozí konstrukt (B :: m je neinicializované)
* `new B()` - výchozí konstrukt (B :: m je neinicializované)
* `new C` - výchozí konstrukt (C :: m je nula inicializaci)
* `new C()` - výchozí konstrukt (C :: m je nula inicializaci)


V C ++ 03 splňovalo požadavky kompilátor, vše by mělo fungovat jako tak:


* `new A` - neurčitý hodnota
* `new A()` - hodnota inicializovat, což je nula-inicializace, protože je to POD.
* `new B` - default-inicializuje (listy B :: M neinicializovaný)
* `new B()` - hodnota inicializuje B, která nulové inicializuje všechna pole, protože jeho výchozí ctor je kompilátor generována na rozdíl od uživatelsky definované.
* `new C` - default-inicializuje C, který volá výchozí ctor.
* `new C()` - hodnota inicializuje C, který volá výchozí ctor.


Tak ve všech verzích C ++ je tu rozdíl mezi `new A`i `new A()`proto, že A je POD.


A tam je rozdíl v chování mezi C ++ 98 a C ++ 03 pro případ `new B()`.


To je jeden z prašných koutech C ++, které mohou zbláznění. Při stavbě objektu, někdy budete chtít / potřebovat parens, někdy si absolutně nemůže mít, a někdy to nevadí. Já se tě zeptám na důvod té omáčky, tedy vlastně blábolů, když se chceš jen zeptat na dva příkazy. Mám pro tebe novinku. Vše potřebné najdeš v manuálových stránkách. Tam najdeš vyčerpávající odpověď na svoje dotazy a autoři se nebáli rozepsat. Tak tedy, buď příkazová řádka a man příkaz, nebo to zadej do vyhledávače a koukni na manuálové stránky na net. Člověk se přece jen učí celý život.PrasatkoPee K dispozici jsou 2 standardní způsoby, jak se blíží k testu, která závisí na něčem jiném (namítat, volání funkce, atd).


* Můžete použít vysmívá namísto objekty kód testujete závisí na.
* Můžete načíst přípravek nebo dělat tvorbu / hovor zkušební sestavy.


Někteří lidé mají rádi „klasických“ unit testů, kde je testován jen „jednotka“ kódu. V těchto případech se obvykle používají se vysmívá a pahýly nahradit závislostí.


Jiné podobné více integračních testů, kde je testována většinu nebo všechny zásobníku volání. V těchto případech můžete použít přípravek, nebo možná dokonce dělat hovory / výtvory ve funkci nastavení.


Obecně byste **to** udělat jeden test závisí na druhého. Všechny testy by měly:


* uklidit po sobě
* je spustitelný v izolaci
* být spustitelný jako součást sady
* být konzistentní a opakovatelné


Pokud uděláte jeden test závislý na jiném nemohou být spuštěny v izolaci, a ty jsou také nutí rozkaz testy spustit. Prosazování pořadí v testech není dobré, ve skutečnosti mnoho lidí pocit, že by se náhodně pořadí, ve kterém jsou spouštěny vaše testy. Presne nevim, v PHP (nastesti) nedelam, ale od tipnu si, ze skript vypisuje do stdout a stderr, browser dostane jen jedno z toho. Ach jo, kam ten svět kráčí.1) vložit jinak - hodnoty2) úplně nechápu zadaní, ale předpokládám, že fce CONCATENATEpoužití google, nebo nápovědy (F1) ti řekne více Některé zvukovky umí sloučit nebo rozdělit svůj přední a zadní výstup, ale různé zvukovky sloučit nejde. Možná by šel napsat program co pošle totéž na víc zvukovek, ale obávám se že reprodukce nemusí být synchronní.Jediné co funguje, je v programech které to umí vybrat jiné výstupní zařízení než je výchozí. Pak půjde zvuk z různých výstupů. No jo klávesnice na hovno co čekat jinýho ad applu. Tady máš návod[https://www.youtube.com/watch](https://www.youtube.com/watch?v=2Kg6EfuR-6Y) Takže jste se ptali, jak zvládnout práci na násobku „úkolů“ najednou, ne? S výjimkou větvení.


Můžete mít více checkouts ze zdroje na lokálním počítači, suffixing název adresáře s názvem lístku, na kterém pracujete. Jen se ujistěte, aby se změny ve správném adresáři, v závislosti na úkolu ...


Směšování více úkolů v jedné pracovní kopii / commit může být velmi matoucí, zvláště pokud někdo potřebuje, aby svou práci zkontrolovat později. To už je čas na reálnou konverzaci. Ale jestli se chcete držet Duolinga, tak kurz češtiny z angličtiny má úplně jiné věty než kurz angličtiny z češtiny. Byl jsem po skutečný formát má být použit na příkazovém řádku. Vidím zkompilované symboly při pohledu na vytvořené soubory, ale nejsem si jistý, jaký formát použít na příkazovém řádku. Každopádně díky za všechny odpovědi.