[linux] BASH programovanie - ako zisti, ci je premenna "prazdna" // spravny zapis $premennej // prve slovo prveho riadku nezacinajuceho # zo $suboru // Ako script zisti svoju cestu?

Lubomir Host rajo na platon.sk
Neděle Duben 17 01:51:02 CEST 2005


On Sun, Apr 17, 2005 at 12:52:45AM +0200, Peter wrote:
> Ahoj.
> 
> 1.
> 
> Potrebujem prve slovo prveho riadku nezacinajuceho # zo $suboru.
> 
> Zatial to robim takto (ale da mi to cely riadok ... nad suborom sa 
> nepozastavujte :)
> if [ -e /etc/hostname ];then pc=`grep -v "#" /etc/hostname | head 
> -1`;else pc="etc-hostname-neexistuje";fi
> if [ -z $pc ];then pc="hostname-was-empty";echo $pc;fi

 pc=`grep -v "#" /etc/hostname | head -1  | awk '{ print $1 }'`

> 2. zmazane
> 
> 3. potrebujem
> if $daco = EMPTY (je prazdna) then $daco=$dacoine
> Odpovedam si sam :-D:
> if [ -z $daco ];then echo "empty";else echo "full";fi

if [ -z "$daco" ]; then
fi

alebo

if [ "x$daco" = "x" ]; then
fi

> 4.
> Ktory zapis (bash) je spravny?
> name="$pc""_""$type""_""$dateback"
> name2="$pc"_"$type"_"${dateback}"
> name3="${pc}_${type}_${dateback}"
> name4=${pc}_${type}_${dateback}

name3

> Funguju sice vsetky, ale na co je najlepsie si navyknut (vzhladom na 
> python, perl, php, zsh, tcsh)?

zsh = bash compatible ;-)
tcsh = bash incompatible ;-(
python != perl != php != bash, cize sa budes musiet naucit v podstate
v kazdom jazyku pouzivat to inac

> 5.
> Ako script zisti svoju cestu?
> Beziaci script /home/user/script/tento-script ...
> chcem dostat:
> $cesta=/home/user/script/

cesta=`dirname $0`
 
> 5B.
> Ak by som aj vedel (neviem) zistit /home/user/script/tento-script
> ako ho "orezem" na:
> /home/user/script/tento-script

asi si mal na mysli 

skript=`basename $0`

-- 
Lubomir Host 'rajo' <rajo AT platon.sk>        ICQ #:  257322664
Platon Software Development Group              http://platon.sk/
GnuPG key: http://rajo.platon.sk/en/show,gpgkey
Encrypt your plaintext emails with GnuPG/PGP/OpenPGP:
http://platon.sk/cvs/cvs.php/scripts/perl/mail-gnupg/mail-gnupg-encrypt.pl
http://www.gnu.org/philosophy/no-word-attachments.html




Další informace o konferenci linux