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

Програмиране => Общ форум => Темата е започната от: sunhater в May 25, 2004, 03:54



Титла: shell scripting
Публикувано от: sunhater в May 25, 2004, 03:54
Как мога да стартирам дадена програма от шел скрипт и след това в някоя променлива да имам нейния PID като в същото време съществуват още инстанции на стартиранта програма?


Титла: shell scripting
Публикувано от: CaBA в May 25, 2004, 15:49
виж man pgrep


Титла: shell scripting
Публикувано от: sunhater в May 26, 2004, 21:29
А как мога да проверя дали дадена променлива е число?


Титла: shell scripting
Публикувано от: CaBA в May 27, 2004, 13:11
Bash не прави разлика между текст и числа, за него променливите са низове, но все пак виж Advanced Bash Scripting Guide. По принцип като почна да правя такива по-сложни неща сериозно се замислям дали да не пренапиша скрипта на perl (щото това знам, нищо не ти пречи да ползваш друг скрипт език) и май винаги го пренаписвам.


Титла: shell scripting
Публикувано от: sunhater в May 27, 2004, 13:45
Аз знам че по принцип не прави разлика, но все пак ми трябва да разбера дали въведена от потребител стойност е числена т.е. се състои от само от цифри.


Титла: shell scripting
Публикувано от: CaBA в May 28, 2004, 12:16
определено е време да превключиш на по-висока предавка:
Примерен код
if ($user_input =~ /\d*/){
print 'Потребителят е въвел число'
}
else{
print 'Потребителят е въвел нещо друго'
}


Титла: shell scripting
Публикувано от: CaBA в May 28, 2004, 16:18
както ме подсети един приятел-хакер, в горния пример
Цитат
if ($user_input =~ /\d*/){

е по-вярно така
Цитат
if ($user_input =~ /^\d+$/){


Титла: shell scripting
Публикувано от: sunhater в May 28, 2004, 16:51
Нещо май не е съвсем така изключвайки скобите че са квадратни... Оооо, това било perl... мен ми трябва за bash


Титла: shell scripting
Публикувано от: CaBA в May 28, 2004, 17:39
Така си е,  но не е баш така, а пърл така :)