Új hozzászólás Aktív témák
-
CPT.Pirk
Jómunkásember
válasz
Jester01 #895 üzenetére
stty -F /dev/ttyUSB0 9600 cread crtscts cs8 -cstopb -parenb Ez így már működik, ha így írom be, akkor villog az adás led, tehát a modulom és a gép között létrejött a kapcsolat. Viszont az stty szerint továbbra sem változott a baudrate, bár ha az lenne a valóság, akkor szerintem nem küldözgetne a modulom.
Csináltam egy N4 nevű fájlt, majd kiadtam az od-s parancsot:
od -An -d -N4 /dev/ttyUSB0, ami után már nem küld a modulom semmit a gépnek, a fájlba nem kerül semmi. Milyen formában kellene ezt kiadni? Ha terminálban adom ki, akkor csak kilépni lehet a terminálból.
-
CPT.Pirk
Jómunkásember
válasz
Jester01 #895 üzenetére
stty -F /dev/ttyUSB0 9600 cstopb -parenb
Ez terminálban rootként lefut, probléma nélkül. Viszont ha megint beírom az stty parancsot, akkor meg továbbra is 38400 baud-ot ír.
Szóval nem tudom, hogy átállt-e.
od -An -d -N4 /dev/ttyUSB0
Igen, decimális számot szeretnék. Tehát össze kell pakolni 2*8 bitet egybe ahhoz, hogy a korrekt értéket lássam. Ehhez a parancshoz tudsz mutatni valami leírást? Nem nagyon találtam most hirtelen. -
-
CPT.Pirk
Jómunkásember
Mi a menete egy Shell scritpben annak, hogy benyeljem az adatokat USB-s uartomról?
Windowson így megy:
Fel kell építeni a kapcsolatot (egy packet monitor programban csináltam), megadva, hogy 9600baud, 2 stop bit, nincs paritás bit. Ez után tud csak küldeni az uart modulom csomagokat a PC-re.Valamint ilyen formában jönnek az adatok 4* 8 biten, ez 2 darab 12 bites AD kimenetéről származik:
1. 8 bit: AD1 7..0 bitek
2. 8 bit: "0000" és AD1 11..8 bitek
3. 8 bit: AD2 7..0 bitek
4. 8 bit: "0000" és AD2 11..8 bitekEzeket kellene az eredeti, 12 bites formában letárolnom. Az egyszerűség kedvéért kezdésnek elég az is, ha csak az AD1 2*8 bitjével foglalkozunk.
-
bambano
titán
válasz
Jester01 #892 üzenetére
a második, az szép... ascii art kick járna érte a régi ircen
egyébként én is valami hasonlóra jutottam a guglizás során, hogy printf "%d.%d...." és stringműveletekkel szedem szét a mac-et, de azt nem láttam, hogy a hex-dec konverziót a shell végzi, nem a printf, ezért nem kell printf.
szép
-
bambano
titán
az első, hogy amit zárójelek közé raksz, azt a sed egy csoportként kezeli, és \sorszám formában lehet rá hivatkozni. de mivel itt a zárójel nem szöveg, hanem vezérlőjel, ezért visszaperrel "eszképelni" kell.
a csoporton belül meg annyi van, hogy a kalap^ negál, tehát bármi, ami nem mögötte van, konkrétan most szóköz, tehát bármi, ami nem szóköz, a * miatt ebből tetszőleges mennyiség. utána berakjuk azt a mezőelválasztó szóközt, amit említettél a feladatban, majd ezt ismételjük a szükséges darabszámszor. a végén pedig \1 \2 stb. formában előszedetjük a sed-del, amit az adott csoportra rá tudott húzni.
-
bambano
titán
itt az ideje, hogy megint tanítsatok nekem valamit
egy fájlban ethernet címek vannak, amit greppel válogatok. ami kijön a csőből, azt át kellene alakítani pontokkal elválasztott tizes számrendszerbeli alakra. a nyelv bash.
tehát jön egy:
00:1A:AD:7A:13:44 string az inputon, vagy ugyanez kisbetűvel, és kellene belőle egy 0.26.173.122.19.68 string.tia
-
bambano
titán
nem írom le a megfejtést, mert sorminta lenne belőle, de kb:
sed -e 's/\([^ ]*\) ...
ez a fordított per zárójel kockazárójel kalap szóköz kockazárójel * fordítottper zárójel majd utána egy szóköz, ebből rakjál egymás után annyit, ahány oszlopod van.
majd erre a \1 \2 \3 \5 \4 formában lehet hivatkozni a sed-ben.
tehát ilyesmi:
sed -e 's/a fentiek/\1 \2 \3 \5 \4/' -
lapa
veterán
most már mindent összeraktam, műxik is szépen. a korábbi logot viszont konszolidálnom kell. a feladat relatíve egyszerű:
2011.03.10 16:49:16 7.25 20.94 7.94 5.94 22.06
2011.03.10 16:49:26 7.25 20.94 7.94 5.94 22.06
2011.03.10 16:49:36 7.25 20.94 7.94 5.88 22.06vannak ilyen, szóközökkel elválasztott adataim. az első két oszlop az idő, nekem meg kéne cserélnem a negyedik és ötödik oszlopot.
azaz a fentiek ilyenné alakulnának:
2011.03.10 16:49:16 7.25 7.94 20.94 5.94 22.06
2011.03.10 16:49:26 7.25 7.94 20.94 5.94 22.06
2011.03.10 16:49:36 7.25 7.94 20.94 5.88 22.06ígérem ez az utolsó, aztán nyugton maradok a hőmérőzésemmel egy jó darabig.
-
lapa
veterán
igen, var/log/-ban van most, és nem is akkora gond, mert ssd. viszont jobban szeretném, ha a /home/ -on belül is meglenne. és akkor gondoltam inkább óránként egy spinup-spindown és közte meg mehet a /tmp/-be, ami ramdrive.
de az is lehet, hogy hagyom az ssd-re írni 20 mp-nként, aztán néha kimásolni a /home/-ba.
egy fájlban lesz, de az jó hogy írtál azért ilyen sample-t is.
mondjuk még nem teljesen világos, hogy ez miért oldja meg a késleltetést.
amúgy csináltam egy újabb rev-et, de nem műx:
#!/bin/bash
touch /tmp/sensor
most=`date +%s`
lejar=`date --date='3580 second' +%s`
while [ $most - $lejar < 0 ]
do
most=`date +%s`
miko=`date +"%Y.%m.%d %H:%M:%S"`
mit=`cat /media/sensor/10.*/temperature`
echo $miko$mit >> /tmp/sensor
sleep 15
doneerre aszongya:
./sensor.sh: line 8: 0: No such file or directory
UPD: ahh:
while [ $most - $lejar < 0 ] --> while [ $most -le $lejar ]
-
bambano
titán
#! /bin/bash
for i in $(seq 1 179); do
date +"%Y.%m.%d %H:%M:%S" >> /tmp/sensor
cat /media/sensor/10.*/temperature >> /tmp/sensor &
sleep 20
done
wait
cat /tmp/sensor >>oraimentes.txt/media/sensor/10.*/temperatureilletve lehet közvetlenül abba a fájlba tenni, ami a végleges helye.
fájlnévben is működik a parancsbehelyettesítés, pl:cat /media/sensor/10.*/temperature >>/var/log/sensorok/$(date '+%h%m')/oralog.txt
-
lapa
veterán
köszi a segítséget, ilyet hoztam végül össze:
#!/bin/sh
lejar=`date --date='3580 second'`
for i in $(seq 1 9999999); do
if [ $(($date - $lejar)) < 0 ]; then
miko=`date +"%Y.%m.%d %H:%M:%S"`
mit=`cat /media/sensor/10.*/temperature`
echo $miko$mit >> /tmp/sensor
sleep 15
else
exit 0
fi
donesajnos mint kiderült nem jó a tick szerinti ciklus, mert a cat... eltart jópár másodpercig (1-wire összes szenzor lekér). még nem teszteltem működik-e egyátalán.
(mindemellett ezen a ponton még ki is kéne írnia egy második fájlba az elmúlt egy órában történteket, de azt már megoldom cat -tal.)
köszi mindig.
-
bambano
titán
nem, nem hatékony, egy felesleges ls-t forkolsz, van benne egy felesleges processz helyettesítés.
szerintem a cat /media/temp/10.*/temperature is működne.
a 20 másodpercre azt javaslom, hogy cronból indítsd 5 percenként, és benne legyen egy ilyen ciklus:
for i in $(seq 1 15); do
cat ...
sleep 20
donea dátumra meg a sorokra tördeléshez esetleg sed.
-
lapa
veterán
üdv. lett hőmérőm sysfs-ben, az alábbi dolgot kéne megcsinálnom:
cat `ls -R /media/temp/10.*/temperature` >> /tmp/temp
ez kirakja a hőmérsékleteket a fájlba, de nem tudom ez a megoldás hatékony-e egyátalán. valszeg az lenne a jobb, ha felsorolnám az összes kiolvasandó filet egymás alá, vagy ilyesmi. de ezt még megoldom.
a következő bajom, hogy hogyan lesz nekem új sorom a fájlban. azt megtaláltam, hogy ez \n, de nem akart még összejönni a helyes parancs.
a harmadik meg, hogy ezt 10-20 mp-ként kéne elindítani, vagyis valami hatékony számlálás is kéne, ami nem eszi a cpu-t. legrosszabb esetben maradok a cron percnél.
ezekre kéne nekem valami frappáns. ja, meg minden sor elejére egy dátum, de az asszem $now vagy ilyesmi.
köszi az ötleteket.
-
CPT.Pirk
Jómunkásember
No odáig eljutottam, hogy a /dev/serial... alatt is létrejön eszköz, mikor csatlakoztatom a modult, valamint a /dev/ttyUSB0 is. Ahogy nézem, ez utóbbit szokták kezelni.
Nem igazán találtam utalást Linux alatt az "online" loggolására, csak Windowsos megoldásokat, valami ilyesmit találtam Linuxra:
exec </dev/ttyUSB0
stty igncr
while read -r; do
echo "[$(date)]: $REPLY"
done </dev/ttyUSB0 >>/usb/BigDrive/CurrentCost/CurrentCost.log -
Jester01
veterán
válasz
CPT.Pirk #876 üzenetére
dc és bc "számológép" programok.
Logaritmus bc-vel például:$ echo "l(2.71)" | bc -l
.99694863489160953206Olvasáshoz legegyszerűbb ha végtelen ciklusban simán pollozod a /dev/ttyUSB0-t és kész.
Lásd még #857, bár nekem parancsot kellett kiküldeni, illetve fix byteot olvasni.
-
CPT.Pirk
Jómunkásember
Szóval ez úgy soros port, hogy az FPGA-m felé néz 4 port, RX,TX, RTS, CTS, a kis panelon egy FT232RQ IC van, erről meg már rendes USB port jön le, az van összekötve a számítógéppel. Így néz ki egészben: [link]
Akkor a logaritmus csúszik kicsit, max összeszenvedek rá egy C programot, vagy valami.
Viszont ami fontos lenne, olyat lehet csinálni, hogy valahogy detektáljam PC-n, ha valamit elküld ez a kis modul? Bőven megfelelne, ha egy fájlba kiíródna a beesett 8 bit, vagy látnám terminálban valahogy, stb.
szerk: bc/dc -ről még nem igen halottam, a DC valami C szerű cucc a wiki szerint. C, DC, BC közül melyiket ajánljátok?
C-t ugyan tanultam kicsit, de az nem sok.
-
dabadab
titán
válasz
CPT.Pirk #871 üzenetére
A /proc/bus/usb/ konyvtarban ott vannak az USB eszkozoket reprezentalo file-okat, azokat tudod bizergalni (megfelelo jogosultsaggal). Tisztan bashbol mondjuk a logaritmus nem fog menni, mar csak azert sem, mert a bash csak egesz szamokkal tud szamolni, szoval ahhoz kenytelen leszel kulso programot hivni (pl. ott a dc, a remek forditott lengyel jelolesevel).
-
CPT.Pirk
Jómunkásember
Haladok a projectemmel. Olyan kérdésem lenne, hogy önmagában a bash script elég-e az alábbi feladatok elvégezésre:
- USB-ről "értékcsomagok" beolvasása, ezekben 12 bit tartalmazná az érdemi adatot, előtte lévő x (mondjuk 16) bit meg azt, hogy hányadik mérés adata érkezett meg, a megadott maximumig kellene letárolni az értékeket. Ezeket külön kellene választani mondjuk bitszám alapján. Esetleg eleve külön is elküldhetem őket, ha úgy egyszerűbb.
- A 12 bites bináris értéket át kellene alakítani decimális számmá (ezek Uki és Ube lennének), majd el kellene végezni rájuk ezt a képletet: Au = 20* log_10 (Uki / Ube).
De mindenek előtt, egyszer olyat kellene csinálnom, hogy figyelem, mi esik be USB porton. Nincs túl sok bash script tapasztalatom, szóval a fenti kérdéseket ennek megfelelően értékeljétek.
-
bambano
titán
ezt próbáld meg kipofozni:
-exec cp -p {} /tmp/$(echo {} | sed ...)
szerintem nem kell a sed köré a {}, viszont kell egy parancshelyettesítés, ami mostanában $( ) (nem aposztróf, mert az obsoloted), és úgy láttam, hogyha többször írod a {}-t, akkor a find mindegyiket helyettesíti, ezért lehet egy echo {}-val etetni a sedet.
-
sonar
addikt
Megy a find aposztróf és idézőjel nélkül is.
Amit te irtál az működik, de csak a kiterjesztést (ami jelen esetben .aod) teszi át nagybetűsre. Én azt szeretném, hogy az egész filenév nagybetűs legyen.Amit én irtam az külön külön működik, de a bajom az amit te is irtál, hogy nincs a sednek bemenete. Csak nem tudom, hogy hogyan adjam át neki.
-
bambano
titán
de azzal, hogy forkolsz egy sed-et bemenet nélkül, mi a célod?
másrészt meg a nevet aposztrófok közé kell tenni, nem idézőjelek közé, mert különben a shell kifejtheti.
szerintem valami ilyesmit kellene:
find . -name '*.aod'| sed -e 's,.*,cp & /uj/konyvtar/&,' -e 's,.aod$,.AOD,' | sh -
sonar
addikt
Az aposztróf valóban hiányzott, de sajnos nem müxik még igy sem.
A lényeg, hogy bizonyos kiterjesztést nagybetűsen kellene átmásolni X-ből Y-ba.
ash shell és nincsen tr parancs
Valami még mindig hibádzik
find . -maxdepth 1 -iname "*.txt" -exec cp -p {} /tmp/{`sed 'y/abcdefghijklmnopqrstuvwxyz/ABCDEFGHIJKLMNOPQRSTUVWXYZ/'`} \; -print0 -
bambano
titán
első ránézésre a páratlan aposztróf biztos gond, az y/aod előtti aposztrófnak nem látom a párját.
szerk:
második ránézésre a sed szabvány bemenetén várja a szerkeszteni valót, így az a sed nem tudom, honnan kapna adatot.harmadik ránézésre a -iname *.aod-ban a *.aod-ot mindenképpen aposztrófok közé tenném, mert ha az aktuális könyvtáradban van egy aod nevű fájl, akkor a shell helyettesíteni fogja a nevét.
-
sonar
addikt
Ezzel mi lehet a gond?
find . -iname *.aod -exec cp -p "{}" /volume1/SID/0/{`sed 'y/aod/AOD/`} \; -print0 -
bambano
titán
ez kernel paraméter.
a parancssor teljes méretét a getconf ARG_MAX mondja meg, ebből még le kell vonni a környezet méretét (env | wc -c)azt nem tudom, darabszám limitáció van-e, a fenti az csak méret limitáció.
ha túl sok a paraméter és attól félsz, hogy ezért kiakad, akkor xargs manual olvasgatása segít -
sonar
addikt
Illetve lenne még egy kérdésem.
Nem tudjátok, hogy maximum mennyi command line argument lehet? -
sonar
addikt
Sziasztok,
Segitségeteket szeretném kérni, mert még új vagyok a shell scriptelésben és elakadtam.
Olyat szeretnék, hogy ha
$1 nem "LDDS_" -el kezdődik akkor tegye automatikusan tegye elé.
Google-ztam, de nem igazán találtam használható megoldást. -
Jester01
veterán
válasz
MacCaine #859 üzenetére
Először is kell egy táblázat, ami minden billentyűhöz megmondja a szomszédait. Aztán szépen rekurzívan bejárod adott hosszig, ügyelve, hogy ismétlődés ne legyen (már ha ez feltétel). Például valahogy így:
#! /bin/bash
len=3
declare -A layout
layout["a"]=qwsxz
layout["s"]=wedcxzaq
layout["d"]=erfvcxsw
layout["f"]=rtgbvcde
# ...
function process
{
local text="$1"
local options="$2"
local i
local letter
local newtext
local next
for ((i=0; i<${#options}; i+=1))
do
letter=${options:i:1}
if [ "${text/$letter/}" = "${text}" ]
then
newtext="${text}${letter}"
if [[ ${#newtext} == $len ]]
then
echo "$newtext"
else
next=${layout[$letter]}
if [[ ${#next} > 0 ]]
then
process "$newtext" "$next"
fi
fi
fi
done
}
for i in "${!layout[@]}"
do
process "" "$i"
done -
-
Jester01
veterán
válasz
CPT.Pirk #854 üzenetére
Ha nem csak lsusb-vel látszik, hanem ténylegesen soros portként is (pl. /dev/ttyUSB0), akkor igen egyszerűen el lehet ezt követni.
Syslog részlet:
kernel: usb 3-1: new full speed USB device number 29 using ohci_hcd
kernel: usb 3-1: New USB device found, idVendor=067b, idProduct=2303
kernel: usb 3-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
kernel: usbcore: registered new interface driver usbserial
kernel: USB Serial support registered for generic
kernel: usbcore: registered new interface driver usbserial_generic
kernel: usbserial: USB Serial Driver core
kernel: USB Serial support registered for pl2303
kernel: pl2303 3-1:1.0: pl2303 converter detected
kernel: usb 3-1: pl2303 converter now attached to ttyUSB0
kernel: usbcore: registered new interface driver pl2303
kernel: pl2303: Prolific PL2303 USB to serial adaptor driverNekem például hőmérők vannak így bekötve, az értékeket pedig egy ilyen script rész logolta:
while true
do
echo -ne "#03\r" >/dev/ttyUSB0
v=`dd if=/dev/ttyUSB0 bs=42 count=1 2>/dev/null`
d=`date --rfc-3339=seconds -u`
echo "${d:0:16}${v//+/;}" >>temp.txt
sleep 60
done -
CPT.Pirk
Jómunkásember
Olyan kérdésem van, hogyha van egy szabvány RS232 -> USB eszköz, amit felismer a kernel és látszik az lsusb -nál, akkor az eszközön beeső értékeket le lehet-e menteni egy fájlba?
Kicsit konkrétabban, egy fpga-ra van kötve egy RS232-USB modul, én kiküldök egy frekvencia és egy erősítés értéket a modulon át, ez bemegy az USB portra, onnan le kellene menteni egy fájlba, majd a következő érték párost egy új sorba, és így tovább. Végén meg tudnék belőle grafikont rajzolni pl. libreofficeban.
-
MacCaine
őstag
Érdekes feladatba ütköztem: generálni kellene egy file-t, amiben soronként billentyűzet-szekvenciák vannak. Valami ilyesmi:
qayxsw
wsxcde
1qayxsw2
2wsxcde3
9ijnbhu8
6zhnmju7Természetesen minden variáció kellene, magyar és angol billentyűzet-kiosztással is.
Lehetséges egyáltalán egy ilyet legenerálni scriptből?
-
lapa
veterán
üdv. egy olyan egyszerűre lenne szükségem szöveges fájlok egybe pakolásához, mint a
cat * > kimenet
ennél annyival kéne több, hogy ki kéne írnia minden kupac elé a fájlnevet (úttal vagy anélkül). köszönöm.
-
-
bambano
titán
ez nic függő, van, amelyik nic tud válaszolni rá, a többség nem.
(#839) sh4d0w: pont erről van szó, attól, hogy az interrupt rendszer egy része meg a kernel maga él, az userland lehet döglött.
azon agyalok, hogy rakok fel ospf-et mindenhova és akkor ha van route, jó, ha nincs route, nem jó.
-
-
-
-
-
-
bambano
titán
egy szkriptben szükségem lenne annak megállapítására, hogy egy hoszt él (elérhető-e) vagy sem.
érdekelne, ti hogy csinálnátok meg? -
-
md4vee
csendes tag
Sziasztok! Egy shell script feladatban szeretném a segítségetek kérni:
A feladat:
Írj programot, ami argumentumban megadott számnak kiszámolja az arcus sinusat illetve arccosinusat, Taylor sorbafejtéssel Harmadik argumentumban megadható legyen a sorbafejtésnél figyelembe vett tagok száma. Ez alapértelmezettként 3. Pl.:
$>szog arcsin 0.5 5
arcsin 30 fok =Fogalmam sincs, hogy kellene megcsinálni...
Előre is köszönöm a segítséget! -
chris0123
csendes tag
Sziasztok, a segítségeteket szeretném kérni, a következő feladatot kellene megoldanom:
A sh program tudjon legalább 2 típusú log fájlt elemezni és olvashatóbb formában kiírni. Kapcsolón keresztül lehessen a típusok között választani. A két típus legyen például: apache.log és egy apache error.log.
A kérdésem annyi lenne, hogy ezt a kapcsolón keresztül történő választást hogyan tudom megoldani? -
lapa
veterán
üdv. nemtom ki ismeri az xp "offline files" rencerét, de az egyik legbrilliánsabb fícsör volt xp alatt.
ez röviden azt csinálta, hogy a hálózati meghajtóról csinált egy lokális másolatot, amit aztán intelligensen szinkronizált. a kliensen törölt dolgokat törölte a szerverről, a szerveren létrejött új dolgokat meg másolta a kliensre. a pontos módszert nem ismerem, de feltételezem volt egy fájllistája a szinkronizált állapotról, és ezt használta harmadik lábnak. egyébként nem tudta volna, hogy az a fájl, ami csak a szerveren van törlendő vagy kliensre másolandó.
oké, szóval ezt szeretném valami primitív módon implementálni valami rsync ssh felett megoldással. van tehát egy szerver fájlgyűjtemény, egy kliens kupac meg egy fájl- és könyvtárlista az előző szinkronizáláskori állapotról. az kéne történjen (próbáltam logikai sorrendben), hogy:
1. ami szerveren és listában van de kliensen nincs, azt törölje szerverről
2. ami szerveren van de listában és kliensen nincs, azt másolja kliensre
3. ami kliensen van és szerveren nincs, azt másolja szerverre
4. csináljon egy fájlt legközelebbre a végleges állapotról
namost ez nyilván annyira nem triviális, de hátha van valakinek működő részmegoldása, ami elég erőt adna nekem a befejezéshez.
-
bambano
titán
bash man:
{ list; } list is simply executed in the current shell environment. list must be terminated with a newline or semicolon. This is known as a group command. The return status is the exit status of list. Note that unlike the metacharacters ( and ), { and } are reserved words and must occur where a reserved word is permitted to be recognized. Since they do not cause a word break, they must be separated from list by whitespace or another shell metacharacter.
-
rt06
veterán
kozben magam is megtalaltam, hogy subshell-ben fut
"én a parancs || echo "xsfgkjf" && exit 1 formát próbálnám, az echo mindig igaz értékkel tér vissza."
ezzel az a gond, hogfy ha az elso ketto kozul barmelyik (akar a parancs, akar az echo) igaz ertekkel ter vissza, a harmadik (exit) resz vegrehajtodik, igy minden esetben kilep a script
a test-es megoldas jo lehetne, viszont egy ./configure, make, vagy make install ellenorzese (foleg egy file patch-elesenek sikeressege) tul sok tobbletmunkaval jarna
amit vegul talaltam es mukodik is, az az alabbi:
parancs || { echo "hiba"; exit 1; }
sajnos egy forumon leltem ra, ahol csak ennyit irtak, azt nem, hogy mi ez es miert mukodik, ha esetleg tudja valaki, szivesen meghallgatom
-
bambano
titán
szerintem a zárójeles kifejezéseket subshellben hajtja végre, az lép csak ki.
én a parancs || echo "xsfgkjf" && exit 1 formát próbálnám, az echo mindig igaz értékkel tér vissza.
a manból:
"Of these list operators, && and ⎪⎪ have equal precedence, followed by ; and &, which have equal precedence."
vagy lehet még azt is, hogy:
parancs || echo bajvan
[ -f letoltottfile ] || exit 1 -
rt06
veterán
szeretnek irni egy script-et, aminek egyes lepesei kritikusak, igy ha azok nem futnak le sikeresen, ki kellene lepni
erre en az alabbi megoldast probalom:
parancs || ( echo "hiba" && exit 1 )a gondom az, hogy kiirja ugyan a hibauzenetet, viszont nem all le a script futsa, megy tovabb a kovetezo lepesre (es tobbnyire problemas kiscomagolni egy olyan file-t, melynek letoltese nem sikerult)
kerdesem az lenne, hogy mit nezek be, miert nem mukodik a kileptetesem, illetve hogy hogyan, s miert ugy kellene ehelyett csinalnom?
-
letix
senior tag
Üdv az uraknak!
Kérdésem lenne a szakikhoz.:
Adott egy általam írt kicsi bash-script, amiben egy AD felhasználó user/pass is bele van írva.
(hálózati adminisztratív megosztások felcsatolásához kell.)
Valami módon nem lehet ezt esetleg elfedni, mint pl ahogy a htdigest teszi Apache beállításakor?
Se a géphez, sem pedig a scripthez magához nem fér hozzá senki más, de attól még ez így nem szép. Ti ezt hogyan szoktátok?Automatizálva lenne a dolog, ezért lenne fontos, hogy ne kelljen mindig authentikálnom magam illetve a kódban se lehessen látni a user/pass kombót, vagy legalább a pass.-t.
Köszönöm az ötleteket.
udv
letix -
rt06
veterán
hogyan iratok ki egy valtozot, aminek a nevenek egy reszet string-ben kapom?
pl jon a $varname valtozo, aminek a tartlam alma es en ez alapjan szeretnem kiiratni a $var_alma valtozo erteket
mindezt bash alatt
-
Badb0y
addikt
Kérdeztem egy ilyet linuxban:
Nem vagyok proggoló, uh. egy alap kérdésre szeretnék választ. Shell unix
adott 2 tömb:
a:
1 2 3 4 5 6
b:
a b c d e fAmit szeretnék:
1 a
2 b
3 c
4 d
5 e
6 fAhogy próbálom:
for in in `cat a`;do for i in `cat b`;do echo $i $j;done;done
No ez nem jó
Tömb elemek lehetnek egymás alatt is. Nem tom, hogy kell tömbözni, ha van egyáltalán
Jester válaszolt is rá:
Mármint az a és a b egy-egy file?
Akkor pl.:#! /bin/bash
exec 3<a
read -u 3 -a array_a
exec 3<b
read -u 3 -a array_b
exec 3<&-
for ((i=0;i<${#array_a[*]};i+=1))
do
echo ${array_a(i)} ${array_b(i)}
done(/I)Ez így tökéletes, de rosszul fogalmaztam meg mit akarok.
Tehát:
adott a és b fájlok.a:
1 2 3 4b:
a b c d e f g h i j k l m n o pÉs kimenetnek ilyet szeretnék:
1 a
2 b
3 c
4 d
1 e
2 f
3 g
4 h
1 i
2 j
3 k
4 l
1 m
2 n
3 o
4 pEgyébként egy nagyker árlistából szeretnék adatokat kinyerni
Új hozzászólás Aktív témák
- BESZÁMÍTÁS! Asus H110M-K i7 6700 16GB DDR4 480GB SSD GTX 1660Ti 6GB Rampage SHIVA FSP 550W
- ÁRGARANCIA!Épített KomPhone i9 14900KF 64GB RAM RTX 5080 16GB GAMER PC termékbeszámítással
- BESZÁMÍTÁS! Microsoft XBOX One S 1TB játékkonzol extra kontrollerrel garanciával hibátlan működéssel
- Quadro FX 570 eladó
- Bomba ár! Dell Latitude E6540 - i5-4GEN I 8GB I 320GB I DVDRW I 15,6" FHD I HDMI I W10 I Gari
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest