[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