Linux за българи: Форуми

Програмиране => Общ форум => Темата е започната от: globaluty в Feb 28, 2016, 21:47



Титла: ps aux grep
Публикувано от: globaluty в Feb 28, 2016, 21:47
Здравейте, имам следното в script.sh:

Код:
var="[123].123.123.123 -port 22050"

ps aux | grep '$var' | awk '{print $2}'

ps aux | grep '[123].123.123.123 -port 22050' | awk '{print $2}'


Защо второто grep-ва правилно PID-oвете, които отговарят на [123].123.123.123 -port 22050, а първото не успява да го направи? Къде бъркам и как да го направя с променлива, така както искам?

Благодаря на отзовалите се.


Титла: Re: ps aux grep
Публикувано от: neter в Feb 28, 2016, 22:03
ps aux | grep '$var' | awk '{print $2}'
Защото затварянето на променлива в единични кавички спира действието ѝ на променлива, при което се превръща в прост текст "$var", какъвто нямаш в процесите. Ползвай двойни кавички!