Portál AbcLinuxu, 12. května 2025 10:27
PIDNUM=`ps |head -2 |tail -1|cut -d ' ' -f 1`; # pid bashe
Tohle uz nefunguje
xx_$PIDNUM="nejaka hodnota"
bash: xx_=nejaka hodnota: command not found
Zkoušel jsem různé konstrukce (eval, ...), ale nic nepomohlo.
Díky za tipy.
xx_${PIDNUM}="nejaka hodnota";
${PIDNUM}
je (v tomto případě) to samé jako $PIDNUM
. Takže to samozřejmě skončí stejně.
Btw. předchozí příklad měl být:
PIDNUM=`ps |head -2 |tail -1|cut -d ' ' -f 2`; # pid bashe
a měl mít tu samou funkčnost jako volání $$
PIDNUM=123 eval "xx_$PIDNUM=\"nejaka hodnota\"" echo $xx_123 eval tmp="\$xx_$PIDNUM" echo $tmp PRIKAZ="ls" eval $PRIKAZ
echo $xx_123
není úplně to pravé.
Chtělo by eval
použít i v při používání proměnné.
AAA=123 cat << EOF | bash xx_$AAA=\$SHELL echo \$xx_$AAA EOF
if [[ $xx_123 == "123" ]]; then echo "používám proměnnou" fi
if [[ $xx_$PIDNUM == "123" ]]; thentak to pro vás budou přece jen lepší ta pole :)
matchedfiles="$(grep -rl "$regex" "$files")" if [ "$matchedfiles" != "" ]; then vim +/"$regex" -p "$matchedfiles" else echo "zadny soubor nenalezen" 2> fitakže ty důvody pro unikátní a neznámý název zůsávají zahaleny tajemstvím, ale předpokládám že existují ;)
a=abc eval xx_$a=blehe echo $xx_abc
pet@petkub ~ $ PIDNUM=$$ pet@petkub ~ $ echo $PIDNUM 10355 pet@petkub ~ $ eval `echo xx${PIDNUM}=abc` pet@petkub ~ $ echo `eval echo '$'xx${PIDNUM}` abc pet@petkub ~ $
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.