|
Re: lug-bg: bash скрип за генериране на XF86Config и настройка на мишката
- Subject: Re: lug-bg: bash скрип за генериране на XF86Config и настройка на мишката
- From: Sava Chankov <sava@xxxxxxxxxxxxx>
- Date: Tue, 21 Oct 2003 11:40:11 +0300
- Organization: BlueBoard Ltd
Valentin Stoykov wrote:
Пиша един скрип за генериране на файла XF86Config и настройка на
мишката (/dev/mouse). Имам един проблем - променям една променлива и
след промяната се оказва, че променливата не се е променила.
s_flag="s5" # С тази променлива имам проблем...
if [ -r "$XF86Config_new_location" ]; then
cat "$XF86Config_new_location" | while read LINE ; do
# ^ ето го и проблема!
if echo $LINE | grep -i Section | grep -i \"Device\" 1> /dev/null ;
then if [ "$s_flag" = "s2" ] ; then echo "Грешка: Section \"Device\"
се среща два пъти" else s_flag="s1" fi fi
if [ "$s_flag" = "s1" ]; then if echo $LINE | grep -i Identifier 1>
/dev/null ; then echo "Identifier \"$IDENT_CARD\"" >>
"$XF86Config_location" else echo "$LINE" >> "$XF86Config_location" fi
fi
if echo $LINE | grep -i EndSection 1> /dev/null ; then if [ "$s_flag"
= "s1" ]; then s_flag="s2" fi fi
# контролно печатане на променливата echo "Променливата s_flag е:
$s_flag" # тук печата каквото се очаква
done else echo "Грешка при четенето на файла
$XF86Config_new_location" fi
# контролно печатане на променливата echo "Променливата s_flag е:
$s_flag" # Тази променлива всеки път е s5.
Конвейрите (pipes) в bash се изпълняват в подобвивка (subshell), който е
дете на обвивката, а процесите-деца не могат да променят променливите на
средата на своите родители. За повече инфо виж
http://www.tldp.org/LDP/abs/html/subshells.html
иначе това е Advanced Bash Scripting Guide:
http://www.tldp.org/LDP/abs/html/
--
Sava Chankov,
research and development
http://www.blueboard.biz
============================================================================
A mail-list of Linux Users Group - Bulgaria (bulgarian linuxers).
http://www.linux-bulgaria.org - Hosted by Internet Group Ltd. - Stara Zagora
To unsubscribe: http://www.linux-bulgaria.org/public/mail_list.html
============================================================================
|
|
|