Hirdetés
- One mobilszolgáltatások
- iPhone topik
- Milyen okostelefont vegyek?
- Várhatóan ez a négy iPhone már nem telepítheti az iOS 27-et
- Redmi Note 15 Pro 5G – a szokásosat?
- Távozik az Apple vezérigazgatója
- Vivo X300 Ultra - tárcsázz, ha van rá keret!
- Samsung Galaxy S25 - végre van kicsi!
- Xiaomi 17 Ultra - jó az optikája
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
Új hozzászólás Aktív témák
-
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.
-
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 -
bambano
titán
ha jól tudom, nálatok folyik könyvelés, úgyhogy az ilyen elsején futtatnám szöveg elég érdekesen hangzik a te szádból

de ez a date-s ötlet jó, nekem nem ez jutott eszembe
én eddig azt ellenőriztem, hogy a holnapi nap ugyanabban a hónapban van-e, mint a mai, de a te ötleted egy date-tel rövidebb. -
bambano
titán
Ha van egy scriptetek, aminek a hónap utolsó napján kell lefutnia, azt hogy csináljátok meg szépen?
-
-
bambano
titán
"The shell allows arithmetic expressions to be evaluated, under certain circumstances (see the let and declare builtin commands and Arithmetic Expansion). Evaluation is done in fixed-width integers with no check for overflow, though division by 0 is trapped and flagged as an error. "
szóval bashban sehogy. de ha felrakod a bc-t, akkor azzal egyszerűen lehet
cpu_total=$(echo -n "scale=3; $cpu_total + $cpu " | bc -l)
valahogy így, de nem próbáltam ki.
-
bambano
titán
Ezzel:
ls -l | cut -d\ -f 1
le lehet vágni a jog mezőket, fontos, hogy a fordított per után lenni kell egy szóköznek, ami a cut paramétere lesz, meg még egy szóköznek, ami elválasztja az argumentumokat.egy
ls -l | cut -c 4,7,10
meg kivágja a végrehajtási jogosultságokat a listából. -
bambano
titán
-
bambano
titán
válasz
bozsikjanos
#614
üzenetére
a munin grafikonrajzoló része betelnetel a saját konfigjában szereplő összes hosztra és lekéri azt, hogy milyen pluginek tudnak neki adatot szolgáltatni, majd lekéri az összes plugintől az adatot.
vagy azért rajzol kétszer grafikont, mert kétszer van a munin szerverben az a host, vagy azért, mert kétszer linkelted be a pluginek közé ezt a scriptet.
másold ide a scripted.
-
bambano
titán
válasz
bozsikjanos
#611
üzenetére
nem ismerem a munin snmp-s dolgait, de nem nagy durranás olyan munin scriptet írni, ami snmpget-tel leszedi azokat a paramétereket egy cisco-ról vagy bármiről, amit grafikonozni kell. ha ez a verzió is érdekel, akkor nekifuthatunk itt a részleteknek.
-
bambano
titán
válasz
bozsikjanos
#603
üzenetére
a bc rendszerint nem része az alap telepítésnek....
-
bambano
titán
válasz
HUNNIA1920
#574
üzenetére
"ogy pl.: 2xxx - es az setUID - os.": ezt hogy hoztad össze?
-
bambano
titán
miért van nekem olyan érzésem, hogy itten mostan iskolai házifeladatokat oldunk meg?
-
bambano
titán
válasz
Votyesz13
#504
üzenetére
de ha a ciklus feltételébe tartozó változók értéke nem változik a ciklusmagon belül, akkor ez tuttira végtelen ciklus lesz.
nem kell aggódni, a linux azt is végrehajtja 5 másodperc alatt
megjegyzés: csak nekem evidens, hogyha nevet akarok tárolni egy változóban, akkor annak az lesz a neve, hogy nev, meg telefonszam?
-
bambano
titán
válasz
Votyesz13
#500
üzenetére
sed 's/"$VALTOZO"/"$VALSEGED/' phone.txt
ha a sed programja aposztróffal kezdődik, akkor mindegy, hogy van-e belül idézőjel.
ha cseréltetni akarod, akkor idézőjelek közé tedd.
sed -e "s/$VALTOZO/$VALSEGED/" phone.txtés már csak azt intézd el, hogy egyikben se legyen / jel.
-
bambano
titán
-
bambano
titán
válasz
szunyog199
#460
üzenetére
man bash.
-
bambano
titán
Minden bash verziónál volt ígéret arra, hogyha sh-ként indítod, szabvány shellként fog futni. De vajon betartották-e az ígéretet?
#418: egyelőre a debian az a linux, amiből legtöbbet lehet profitálni, ha át kell ülni nagyobb gépre. Egyedül ezt a betonfejű gpl dolgot nem komálom, a többi része szerintem jobb, mint más linuxoké.
-
bambano
titán
Nem azzal van a gond, hogy megadod, melyik shellel kell futtatni, hanem azzal, hogy valójában nem adod meg.
Ma már egy unixon soha nem tudhatod, hogy milyen shell van a szabvány sh alá dugva és az mennyire kompatibilis. Ezért szerintem jobb megoldás, ha konkrétan megmondod, hogy melyik shellt akarod. Pl. egy átlag debianon bash van az sh alatt, viszont most akarnak áttérni dash-ra. Az ördögnek pedig árkok vannak a szeme alatt (mert nem alszik
).A fordított aposztróffal meg nem az a bajom, hogy obsolote, hanem az, hogy nehéz egymásba ágyazni

-
bambano
titán
Vannak dolgok, amik most még csak stilisztikai hibának tűnnek, később meg baj lehet belőle, ezért néha nem árt megszokni, hogy egyes, szintaktikusan helyes dolgot mégsem használ az ember.
Én pl. nem szeretem a fordított aposztrófot, a /bin/sh-t az első sorban, és ezt. Meg még lehet, hogy van más is, ami nem kedvenc

-
bambano
titán
válasz
Jester01
#376
üzenetére
Minél elegánsabban programozol, annál több óraciklusba kerül a script értelmezése

if akarmi then
echo valami
fihelyett javasolt:
[ akarmi ] && echo valamia case utasítást is meg lehet csinálni két ilyennel:
[ "${line[0]}" == "cpu" ] && newticks ...remélem, hogy a shell nem csinál subshellt, amikor azt hiszem, hogy nem

-
bambano
titán
nem tudom, nekem szántad-e a választ, vagy csak így sikerült
de
a kiértékelési szabályok miatt az a két sor az duplán nagyon rossz.
ha az if mögé listát írsz, akkor a lista kilépési értéke az utolsó listatag kilépési értékével lesz egyenlő, az értékadás meg szerintem csak egészen ritka esetekkor nem fut le rendesen, tehát alaposan összekavarja a feltételt. -
bambano
titán
ehh, elég szerencsétlen kétszer regidir-t használni
első esetben egy könyvtárnév string, második esetben változónév.cd ujdir
(cd regimp3gyujtemeny; find . -name '*.mp3') | while read p ; do
regidir=$(dirname $p)
[ -d $regidir ] || mkdir -p $p
lame <parameterek> regimp3gyujtemeny/$p $p
done -
bambano
titán
válasz
Jester01
#200
üzenetére
info sed szerint meg dokumentált:
The syntax of the `s' (as in substitute) command is `s/REGEXP/REPLACEMENT/FLAGS'. The `/' characters may be uniformly replaced by any other single character within any given `s' command. The `/' character (or whatever other character is used in its stead) can appear in the REGEXP or REPLACEMENT only if it is preceded by a `\' character.
A man szerint meg a full doksit a texinfo-ban kell keresni
[Szerkesztve] -
bambano
titán
válasz
Tele von Zsinór
#193
üzenetére
A sed nem várja el, hogy a regexpben / legyen a paraméter elválasztó, hanem az az elválasztó, amit először megtalál az s betű után.
Tehát ha /-t akarsz csereberélni, akkor hasznosabb lehet más elválasztót találni, mint pl. a vessző
sed -e 's,/,\\,g' -
bambano
titán
Tehát az, hogy egy mezőn ne álljon két figura, az ennyi:
sed -e 's/ //g' -e 's/,/\n/g' allas.txt|sed -e 's/[a-h][1-8]$/|&/' |sort -t\| -k 2 |uniq -t\| -f1 -c|sed -e 's/^[ ]*//'|grep -v ^1
Amit kiír, azon sorokban levő mezőkön több figura áll.
A uniq és a count célszerű használatával a másik részfeladat is egyszerűen megoldható, ennek bizonyítását az olvasóra bízzuk
Szerk: most olvasom végig, kicsit lefutott már ez a thread, sorry
[Szerkesztve] -
bambano
titán
válasz
peterszky
#161
üzenetére
Én átkonvertálnám egy olyan filera, hogy egy bábu, egy sor, egy sorban a bábu neve, mezőszeparátor, pozíció, majd sorbarendezném első mező szerint, megszámolnám, hány bábu van, sorba rendezném második mező szerint, megszámolnám, hány olyan mező van, ami egynél többször szerepel.
Az átalakítás kb. ennyi:
sed -e 's/ //g' -e 's/,/\n/g' allas.txt|sed -e 's/[a-h][1-8]$/|&/'
a többit még szöszölöm a manualból, ha még érdekes
Új hozzászólás Aktív témák
Hirdetés
- Olcsóbb lett a Game Pass Ultimate, de a Call of Dutyért cserébe várni kell
- Proxmox VE
- S.T.A.L.K.E.R. 2: Heart of Chornobyl
- The Division 2 (PC, XO, PS4)
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Anglia - élmények, tapasztalatok
- Sorozatok
- Torrent meghívó kunyeráló
- AMD Navi Radeon™ RX 9xxx sorozat
- Robogó, kismotor
- További aktív témák...
- MS SQL Server 2016, 2017, 2019
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem.
- Vírusirtó, Antivirus, VPN kulcsok GARANCIÁVAL!
- PC Szervizeket, Gépépítőket keresek B2B szoftver partnerségre (E-számlával)
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! Automatikus 0-24
- REFURBISHED - HP USB-C Universal Dock G1 (DisplayLink)
- AKCIÓ! Asus TUF A17 FA707RR FHD Gamer notebook - R7 6800H 16GB DDR5 512GB SSD RTX 3070 8GB W11
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- MacBook Pro védőfóliák 14" 16"
- HIBÁTLAN iPhone 13 Pro Max 256GB Sierra Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS4302
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

első esetben egy könyvtárnév string, második esetben változónév.

