Fórum Root.cz
		Hlavní témata => Vývoj => Téma založeno: bash nemá  26. 04. 2018, 10:08:15
		
			
			- 
				K čemu v bashi je konstrukce "${prom}" ? Má nějaké využití, kde by   ${prom} nebo $prom nestačilo ?
 
 Pak druhý dotaz
 proč
 printf   "a1\na2" | read jj ; echo $jj
 echo   "a1\na2" | read jj ; echo $jj
 
 vypíše obojí  prázdný řádek, dokonce proměnné jsou nedefinovány ,když vymažu výpis shellu, dám set a přes Ctrl F prohledám výskyt proměnnné-
- 
				zřetězení třeba
 echo $CROSS_COMPILE
 echo $CROSS_COMPILEgcc
 echo ${CROSS_COMPILE}gcc
 
- 
				K čemu v bashi je konstrukce "${prom}" ? Má nějaké využití, kde by   ${prom} nebo $prom nestačilo ?
 
 Pak druhý dotaz
 proč
 printf   "a1\na2" | read jj ; echo $jj
 echo   "a1\na2" | read jj ; echo $jj
 
 vypíše obojí  prázdný řádek, dokonce proměnné jsou nedefinovány ,když vymažu výpis shellu, dám set a přes Ctrl F prohledám výskyt proměnnné-
 
 
 
 ad1 shell parameter expansion
 ad2 a preco je tam pajpa? ked chces aby to nieco robilo daj si miesto pajpy ;
- 
				ještě jeden případ
 x="${CROSS_COMPILE}gcc x.c"
- 
				Pak druhý dotaz
 proč
 printf   "a1\na2" | read jj ; echo $jj
 echo   "a1\na2" | read jj ; echo $jj
 
 Pokud je to fakt takto, neni to nejaky nepovedeny priklad ze skoly?
- 
				
 Pak druhý dotaz
 proč
 printf   "a1\na2" | read jj ; echo $jj
 echo   "a1\na2" | read jj ; echo $jj
 
 
 
 Na první už bylo odpovězeno, ale třeba existují ještě tvary z modifikátory ${prom//x/y} nebo ${prom:-0}. doporučuji si pročíst manuál https://www.tldp.org/LDP/Bash-Beginners-Guide/html/Bash-Beginners-Guide.html
 
 Máš to více nezávislých procesů:
 1) echo   "a1\na2" | read jj
 1b) echo   "a1\na2"
 2b) read jj
 2) echo $jj
 
 Read je je subprocess prvního příkazu a nemá žádný vztah s příkazem druhým. Před těmi příkazy si zavolej set -u a dozvíš se proč ti to vrací prázdný řádek :).
 
 Správně by třeba mělo být echo -e "a1\na2" | while read jj; do echo $jj; done, tj. pak strom procesů:
 1) echo -e "a1\na2" | while read jj
 1a) echo -e "a1\na2"
 1b) while read jj
 1ba) while read jj