Portál AbcLinuxu, 11. května 2025 01:18
perl program1.pl perl program2.pl python program3.pl java Main ...a ve skriptu jednotlivé příkazy spouštět nějak takto
for cmd in `cat commands` do /usr/bin/time -pao time.log $cmd doneTakto to samozřejmě nefunguje, protože se vystup rozdělí podle mezer a provádí se perl, program1.pl, perl, program2.pl ... Zkoušel jsem použít i uvozovky a apostrofy, ale nic z toho mi nepracovalo.
source soubor
, ale ten time mi tam nějak nesedí.
Pokud trvas na time, tak bych to asi udělal takhle: while read prikaz; do time $prikaz; done < /tmp/soubor_s_prikazy
#!/bin/basha když má potom soubor práva x (spouštění), což provedete třeba takto:
chmod a+x mujsoubortak potom stačí napsat
./mujsoubora provede se vše co je v něm. Bez práv spuštění a bez toho
#!interpreter
bys ho musel spouštět třeba pomocí bash mujsoubor
.
Existuje spousta dalších interpreterů:
for cmd in `cat commands`; do /usr/bin/time -pao time.log $cmd done;
O bashi myslím tu byly nějaké seriály, tak se koukni.
Takto to samozřejmě nefunguje, protože se vystup rozdělí podle mezer a provádí se perl, program1.pl, perl, program2.pl ... Zkoušel jsem použít i uvozovky a apostrofy, ale nic z toho mi nepracovalo.Ha. to tam dřív nebylo, nebo su ještě rozespalej, ale možná vám pomůže i můj příspěvek.
sed 's:^:/usr/bin/time -pao time.log :' commands | shJinak na slova to rozdělí
`cat cmd`
(příspěvek do soutěže o nejzbytečnější cat?), po řádcích bys to mohl číst read nebo hrátkami s IFS.
xargs -l /usr/bin/time -pao time.log <commands
[tsunami@vodik]$ file /usr/bin/time
/usr/bin/time: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), stripped
[bash/ksh]$ /usr/bin/time [bash/ksh]$ time real 0m0.000s user 0m0.000s sys 0m0.000s [csh/tcsh]% /usr/bin/time [csh/tcsh]% time 0.003u 0.010s 0:23.87 0.0% 1192+1292k 0+0io 0pf+0w [sh]$ /usr/bin/time [sh]$ timeNejprve jsem si myslel, ze bash predava /usr/bin/time formatovaci string a parametr -p, ale zkuste si napsat
time -pao time.log
v bashi a dostanete chybu -ksh: -pao: command not found
, zatimco v sh probehne vse normalne.
$ find ${PATH//:/ } -name time -maxdepth 1 $
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.