- therion blogja
- A hozzászóláshoz be kell jelentkezni
- 1646 megtekintés
Hozzászólások
Esetleg ilyesmi: mcedit filenev'!'masodikresze.txt
- A hozzászóláshoz be kell jelentkezni
Egyszerűbb lenne a fájlnévből kiszedni a felkiáltójelet, szerintem, és úgy konvertálni.
- A hozzászóláshoz be kell jelentkezni
Az érdekes, hogy backslash-t a fájlnév részeként kezelő. Akkor valószínűleg ez sem lesz megoldás.
(Én is arra gondoltam, hogy átnevezni addig és úgy. De ez csak workaround megoldás lenne.)
- A hozzászóláshoz be kell jelentkezni
Próbáld úgy, hogy a felkiáltójelet és a vesszőt is escapeled. Bár elég csak a felkiáltójelet.
user@host:~/sandbox$ uname -a
Linux host 2.6.18-6-686 #1 SMP Thu Aug 20 21:56:59 UTC 2009 i686 GNU/Linux
user@host:~/sandbox$ echo $SHELL
/bin/bash
user@host:~/sandbox$ bash --version
GNU bash, version 3.1.17(1)-release (i486-pc-linux-gnu)
Copyright (C) 2005 Free Software Foundation, Inc.
user@host:~/sandbox$ cat > \!, << EOF
> Valami szoveg,
> hogy lasd, nem
> ures a file.
> EOF
user@host:~/sandbox$ ls
!,
user@host:~/sandbox$ cat \!,
Valami szoveg,
hogy lasd, nem
ures a file.
user@host:~/sandbox$
Egyébként meg használj tab-completiont, és akkor az szépen kiescapeli magának.
--
Don't be an Ubuntard!
- A hozzászóláshoz be kell jelentkezni
Szimpla idézőjelbe téve nem tekinti eseménynek, és idézőjel nélkül egy backslash-t elé téve sem - ekkor \ nélkül adja át a programnak. Dupla idézőjeles stringben tehát "\!"
"Ha valaki ajánlana egy olyan shell-t Linux-ra, ami nem egy 20+ éves vacak, azt megköszönném!"
Ez azért kicsit erős volt a szinte biztos pebkac mellett.
- A hozzászóláshoz be kell jelentkezni
Ez azért kicsit erős volt a szinte biztos pebkac mellett.
Pláne, hogy hasonló escape-elési finomságok bizony még a powershellnél is vannak (sőt elvileg sem kerülhetőek el), pedig arra aztán nem fogható rá, hogy egy 70-es évekből szökött shell volna.
---
Internet Memetikai Tanszék
- A hozzászóláshoz be kell jelentkezni
Lehet ezt pebkac-nak nevezni, gondolom ha mélyebben beleástam volna magam a dologba, akkor megtaláltam volna a megoldást. De ez nem változtat azon, hogy a bash szerintem nagyon hülyén és abszolút nem logikusan kezeli a dolgot. Vagy szerinted nem az lenne a logikus hogy a programnak már a feldolgozott stringet küldi tovább?
- A hozzászóláshoz be kell jelentkezni
De - es eppen igy is mukodik. A bash megprobalja feldolgozni a ! jelet, es... folytassam?
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Nevezd át x-nek és felejtsd el a speciális karaktereket a file-ok nevében!
Ave, Saabi.
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
+1
Egyszerűen gyűlölöm, ha valaki mondatot ad meg fájlnévnek. Főleg, ha tele van öüóőúűáéí betűkkel. Hiába kezeli a Linux is, Windows is, OS X stb. ezeket a karaktereket, akkor is sokat szívtam már emiatt, leginkább a tömörített állományoknál. Fájlnévbe személy szerint csak az angol ABC betűit teszem. Próbálok mindenkit rászoktatni erre a környezetemben, mert már elegem van abból is, hogy folyton mennem kell segíteni, mert az iwiw, facebook, stb. nem tudja képfeltöltéskor rendesen kezelni az ilyen magyaros fájlneveket.
- A hozzászóláshoz be kell jelentkezni
De ez akkor is vicc. Miért nem képes kapásból átkonvertálni? 2010-et írunk...
(Na nem mintha 5 évvel ez előtt már nem lett volna ideje az ilyesminek.)
(DE! Még jó hogy van jópár alternatíva. Kicsit ironikusnak tartom hogy a legtöbb alternatívát melyet felsorolnak mellette végülis PowerShell koppintás mikor az "béna" a sok binyugz profinak.)
- A hozzászóláshoz be kell jelentkezni
Nem konverziós hiba. RTFM!
Van egy olyan fogalom, hogy "reserved words", ami azokat a szavakat, jeleket jelenti, amelyek kerülendőek mivel speciális jelentéssel bírnak. Ilyen a "!" is, de épp ezért nem teszünk "|"-t sem filenévbe és nem kezdjük azt "-"-zel.
Arról, hogy te nem tudsz valamit használni és lusta vagy elolvasni a leírását, még nem az a valami tehet!
Ave, Saabi.
- A hozzászóláshoz be kell jelentkezni
Ezt egy szóval nem mondtam és tisztában vagyok a jelen hibával. A gond ott kezdődik hogy fájlneveket, AKÁRMILYEN is legyen az, kezelje le ha például idézőjelbe rakom.
- A hozzászóláshoz be kell jelentkezni
És ha idézőjel van a file nevében?
- A hozzászóláshoz be kell jelentkezni
melyik rendszer engedi?
- A hozzászóláshoz be kell jelentkezni
Linux?
saabi@loft1809:~/test$ ls -l
total 0
-rw-r--r-- 1 saabi saabi 0 Aug 3 10:26 felkialto!jel.txt
-rw-r--r-- 1 saabi saabi 0 Aug 3 10:26 idezo"jel.txt
saabi@loft1809:~/test$ uname -a
Linux loft1809.serverloft.com 2.6.31-19-generic #56-Ubuntu SMP Thu Jan 28 02:39:34 UTC 2010 x86_64 GNU/Linux
Ave, Saabi.
- A hozzászóláshoz be kell jelentkezni
Ezen nem lepődünk most meg. :)
- A hozzászóláshoz be kell jelentkezni
[hron@sunshine ~/Downloads/sandbox ] $ ls -l
total 16
-rw-r--r-- 1 hron staff 1 Aug 3 11:50 Felkialtojel!
-rw-r--r-- 1 hron staff 1 Aug 3 11:50 Idezo"jel
Apple Mac OS X 10.5.8
De gyanitom, hogy minden modern oprendszer enged ilyen allatsagokat csinalni - eppencsak nem illik.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
D:\>del I*
D:\Idezo"jel
The filename, directory name, or volume label syntax is incorrect.
és explorerben se lehet törölni (az ntfs-ről)
- A hozzászóláshoz be kell jelentkezni
A windows explorer a következő karakterek használatát nem engedi filenevekben: \/:*?<>|
Mondjuk az vicces, hogy ez csak az alkalmazás védelme, mert amúgy lehet...
--
Don't be an Ubuntard!
- A hozzászóláshoz be kell jelentkezni
"amúgy lehet": hogy lehet pl törölni?
- A hozzászóláshoz be kell jelentkezni
cmd-t megnyitsz, és parancssorból pl :-)
- A hozzászóláshoz be kell jelentkezni
kacc
- A hozzászóláshoz be kell jelentkezni
saabi@loft1809:~/test$ ls
felkialto!jel.txt idezo"jel.txt
saabi@loft1809:~/test$ rm felkialto\!jel.txt
saabi@loft1809:~/test$ rm idezo\"jel.txt
saabi@loft1809:~/test$ ls -l
total 0
saabi@loft1809:~/test$
Windows Vista már akkor szól, hogy többek közt idézőjel sem lehet a file nevében, amikor létre akarom hozni azt.
Ave, Saabi.
- A hozzászóláshoz be kell jelentkezni
nem lehet létrehozni, de ha már ott van az explorer kilistázza, de se az, se a cmd.exe, se a cygwin nem tudja már törölni vagy megnyitni
- A hozzászóláshoz be kell jelentkezni
Joker karakterrel megadva sem?
- A hozzászóláshoz be kell jelentkezni
khm, ebben a szálban egyetlen hszomban fentebb ;)
- A hozzászóláshoz be kell jelentkezni
Mea culpa, mea maxima culpa!
- A hozzászóláshoz be kell jelentkezni
a chkdsk invalidnak mondta és átnevezve átdobta a found könytárba
- A hozzászóláshoz be kell jelentkezni
Ezért van létjogosultsága a Linux alapú livecd-knek. :)
- A hozzászóláshoz be kell jelentkezni
Csalok: Totalcmd?
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Ha a belsejében van, miért ne mehetne? Elkezdi első zárójeltől, amíg nem végez, az mind a fájlnév, és utolsó "-nél végez.
(Nem idézejltől idézőjelig megy)
(De hülyeség is EZT ecsetelni , mivel tomaza-nak igaza van, normális rendszer alapból nem enged olyan fájlnevet adni.)
- A hozzászóláshoz be kell jelentkezni
Te akartál AKÁRMILYEN file nevet. De ha az időzejelet mégis kihagyhatjuk az engedélyezett karakterek közül, akkor egyéb vezérlő karaktereket miért ne?
Mindegy is, ez az egész csak szócséplés. A felkiáltójel a bashnál vezérlőkarakter s mint ilyen, eltakarandó. Ha pedig a mencoder a backslash-el történő takarásnál a backslasht is a file név részének tekinti... jó kérdés, hogy a backslasht a file nevéből kiveszi-e a shell, amikor azt paraméterként átadja a programnak, vagy a programnak kell értelmeznie és elvetnie? Ezt mondjuk nem tudom. De nehezen hiszem, hogy a bash hibája volna, ha a mencoder nem érti a backslashel kitakart karaktert tartalmazó file nevet.
Ave, Saabi.
- A hozzászóláshoz be kell jelentkezni
Szerintem abszolút az lenne a logikus, ha csak az "végterméket" küldené át a programnak.
- A hozzászóláshoz be kell jelentkezni
Unixon minden helyettesítést, escape-elést stb. a shell végez. a program a kész fájlnevet kapja meg. (Ennek megfelelően ha \-t kap, akkor úgy kell tekintenie, hogy a fájlnév része, mert ha az ember escape-eli a \-t, akkor az a shellnek szól, így a program már csak egy \-t kap.)
A probléma abból adódott, hogy dupla idézőjelek között a bash feldolgozza a nem escape-elt !-t,ha pedig \-t rak elé az ember, akkor (a $, `, \ escape-elésével ellentétben) a \ is megmarad (dupla idézőjelek között a \ csak akkor nem marad meg, ha az előbbi három valamelyike előtt áll). Viszont ez egyszerűen megoldható, ha idézőjekek nélkül írunk \!-t, vagy szimpla idézőjelekbe (ez a legegyszerűbb, ott a ' kivételével semmi nem speciális) !-t.
- A hozzászóláshoz be kell jelentkezni
Idézőjel... az semmi! Soremelés karakter is lehet benne! Az is tud vicces corner-case-eket előhozni.
---
Internet Memetikai Tanszék
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
Ez csak a shell korlatozasa. Miert kene nekem mindne shell minden lehetseges foglalt szavara felkeszulnom, amikor az FS engedi a filenevekben ezeket a karaktereket?
- A hozzászóláshoz be kell jelentkezni
Nem kell, csak akkor gondod lesz. Amúgy a jelentéssel bíró karakterek elrejtésére szolgál a backslash. Azt nem tudom, hogy a mencoder azt miért kapta meg a backslasht, a shellnek már át sem kellett volna adnia.
Ave, Saabi.
- A hozzászóláshoz be kell jelentkezni
Na ez az... Mert nyilván megoldottam a felkiáltójel törlésével, de attól még ez így szerintem elég gáz.
- A hozzászóláshoz be kell jelentkezni
Speciel ragozhatod ahogy akarod, de az a gáz, hogy nem ismered, hogy a shell(ek) hogy működnek, ismersz belőle egy-két dolgot - de nem az egészet -, és ha nem tudod jól használni, akkor minden(ki) másban van a hiba.
Ha valamit 'aposztrófok' közé teszel, ott nem lesz semmiféle speciális karakter értelmezés. Ez alól a bash kivétel(egyébként a csh-ból lopva az ötletet) : még aposztrófok között is speciálisnak tekinti a felkiáltójelet. Ha tehát azt nem akarod, hogy a shell annak tekintse, azt kénytelen vagy az erre egyedül szolgáló backslash segítségével eltakarni.
Ez minden UNIX-like rendszereben így van, legfeljebb ha nem bash-t, hanem valami normálisabb shell-t használsz, akkor ezzel a kivétel-kivételének-a-kivétele esettel nem kell foglalkoznod.
(Végül egy megjegyzés: "ez az" idézőjeles" módszer" ami itt fentebb, mint lehetséges felvetés előkerült, ezzel van két gond:
- nem így találták ki, tehát vagy írsz saját parancsértelmezőt ami így működik, és te azt használod, vagy hozzászoksz a gondolathoz, hogy nem így megy;
- a másik gond, hogy mit kezdesz a sorban szereplő egy darab idézőjellel? Vagy mi van, ha be szeretnék tenni egy idézőjel-enter-kombót? Vagy - szóval lehet néhány eléggé nyakatekert ellenpéldát találni, ami a jelenlegi - létező, működő megoldással mind-mind megadható, ellenben ezzel a kezdő- és zárózárójel trükkel rohadtul nem. Márpedig a szabály az, hogy minden szar lehet egy fájl nevében, a / és a '\0' karakterek kivételével. És ezt az elterjedten használt shellek segítségével be is tudod gépelni - ha megtanulod használni.
- A hozzászóláshoz be kell jelentkezni
http://opengroup.org/onlinepubs/9699919799/basedefs/V1_chap03.html#tag_…
posix ieee 1003.1-2008
lehet, hogy a filerendszer elviseli, de az oprendszer semmiképpen nem ajánlja. már amennyiben posix-szerű. ennek a korlátnak figyelembe vételével tudnánk egyszerűen együttműködni különféle rendszerek (OS,FS,CHARSET) használata mellett. interoperabilitás.
az ajánlás/szabvány ismerete és használata helyett inkább anyázzuk le a megvalósítást?
az a logikus, hogy balról jobbra elemez amíg nem kell vermelnie. de lehetne inverz-lengyel is, csak akkor az nem tetszene ;)
- A hozzászóláshoz be kell jelentkezni
Es a nem POSIX kompatibilis rendszerekrol szarmazo fileok esetben mi a helyzet? Az URL-ek eseteben a ! nem szamit specialis karakternek.
- A hozzászóláshoz be kell jelentkezni
Napi használatban az URL böngészőnek szól (következésképpen nem igazán kéne a shell-nek belepofáznia). Aki meg van olyan májer, hogy parancssori eszközökkel operál (youtube-downloader meg wget és társai), az tanulja meg a parancssori eszközöket az őáltala használt rendszeren. Szerintem ez ilyen egyszerű.
- A hozzászóláshoz be kell jelentkezni
"Napi használatban az URL böngészőnek szól "
Ja, egy PDF-et Save link as...-szel, vagy DownThemAll-al letoltok, vagy csak siman ugy allitom be a bongeszot, hogy a PDF-eket letoltse es ne jelenitse meg es hasonlok. Ezutan ezekkel a fileokkal mit kezdek parancssorban?
- A hozzászóláshoz be kell jelentkezni
ha az a file mime-vel jön, akkor a szervertől kap filename mezőt amiben lehet normális filenév. ha a saveas a kedvenc letöltési módunk, akkor az "as" miatt megadhatunk a kliens oldalon ábrázolható nevet.
de nem sokkal egyszerűbb lenne, ha már az elején gondolnánk minderre és a szabványok lehetőségein belül maradnánk? azaz aki a filét legyártotta az posix neveket használna?
- A hozzászóláshoz be kell jelentkezni
NEm csak a POSIX az egyetlen szabvany.
- A hozzászóláshoz be kell jelentkezni
Valóban, bár szerintem a hegesztést szabályozó szabványok irrelevánsak e helyütt...
- A hozzászóláshoz be kell jelentkezni
Megjegyzem, a POSIX sem szabvany olyan tekintetben, hogy nem szabvanyugyi testulet definialta. Ha pedig azt tekintjuk alapul, hogy de facto mit hasznalnak tobben, akkor meg inkabb a Windows API a szabvany, es nem a POSIX.
- A hozzászóláshoz be kell jelentkezni
iso/iec/ieee 9945
valoban az ieee 1003 a jellemzo hivatkozas, de ha iso kell van az is.
- A hozzászóláshoz be kell jelentkezni
Ok. ezt beneztem. Viszont a GNU/Linux rendszerek kozul egyikrol sem certifikalt, hogy POSIX kompatibilisek. A POSIX kompatibilisek kozul melyik hasznal basht shellkent?
- A hozzászóláshoz be kell jelentkezni
Amelyiken lefordítod.
- A hozzászóláshoz be kell jelentkezni
OS X Leopard pl. tuti, az a defaultja.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
De az nem UNIX, ahogy azt megtudtuk.
- A hozzászóláshoz be kell jelentkezni
De a POSIX kompatibilitasa meg nem lett megkerdojelezve, erre batorkodtam tamaszkodni :-)
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
Neked se megy a szövegértelmezés, úgy tűnik.
- A hozzászóláshoz be kell jelentkezni
Hülyeséget beszéltél, így jártál... ne fokozd!
- A hozzászóláshoz be kell jelentkezni
Miután a szöveg értelmezése sem megy, az már nem meglepő, hogy értelmes érvet se tudsz felhozni, úgyhogy tényleg nincs értelme folytatni. És persze ne csináljunk úgy, mint ha még neked tartoznék felelősséggel azért, amit mondok.
- A hozzászóláshoz be kell jelentkezni
Öreg, veled kommunikálni olyan mint sajtreszelővel rejszolni. Másnak felhánytorgatod a nem létező szövegértési problémáit, ugyanakkor fogalmazni meg nem tudsz. Közlöd, hogy a Mac OS nem UNIX, csak a parancssora és meglepődsz ha erre a baromságra az értelmesek felhorkannak. Utána ahelyett hogy csendben maradnál még baszogatsz, hogy válaszoljak a hülyeségeidre.
Nos, ez az utolsó válaszom, hagyj békén és fárassz mást!
Ave, Saabi.
- A hozzászóláshoz be kell jelentkezni
+1
- A hozzászóláshoz be kell jelentkezni
rfc3986
mivel a ! karakter határoló-karakter - tehát mégis speciális -, ezért nem javasolt a használata a uri/path tagban; ha mégis ilyen indíttatásunk lenne, akkor urlencodinggal kell védeni. és tudomásul venni, hogy másoknak gondot okozhat a reprezentáció, azaz szívni fog vele valaki.
- A hozzászóláshoz be kell jelentkezni
az en kedvencem az, amikor user nem tud torolni (ftp-n) egy konyvtarat. Miert? Mert rejtett file van benne. Amikor nyivakol, hogy toroljem le, akkor az a default valasz az arcaba, "de hat ha fel tudtad tenni, akkor le is tudod torolni (allitsd csak be rendesen a **king ftp kliensedet....)".
SPAMtelenül - MX spamszűrő szolgáltatás, ahogyan még sosem próbálta
- A hozzászóláshoz be kell jelentkezni
Ez nem mindig jatszik, pl webtarhelynel van, hogy a webapp hoz letre .htaccess fajlokat, amit a user keptelen letorolni, mert a normalisan konfiguralt FTP szerverek minden ponttal kezdodo fajlnevet blokkolnak, barmilyen parancsban alljon is.
Szoval igen, eloallhat olyan eset, hogy nem tud letorolni egy mappat, mert rejtett fajl van benne.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
+1
[insert line here]
B.C. 3500 - DIY Vehicle / A.D. 30 - DIY Religion / A.D. 1991 - DIY OS
- A hozzászóláshoz be kell jelentkezni
Ami egyik shell szerint specialis karakter, a masik szerint nem az. Vagy masmilyen rendszerrol szarmazik. Vagy az internetrol, stb. Mi szamit specialis karakternek neked?
- A hozzászóláshoz be kell jelentkezni
Ami többet jelent mint saját magát.
- A hozzászóláshoz be kell jelentkezni
Es melyik shellben? Pont ez a lenyeg, hogy shellenkent valtozik, melyik karakter jelent tobbet sajat maganal.
- A hozzászóláshoz be kell jelentkezni
És hol itt a probléma? Ha többféle shellt használsz, akkor tanuld meg őket. Ha nem tudod megtanulni, minek használsz többfélét? Az emberek a saját rendszerükben tudnak shellt választani, ha esetleg egy másik rendszerben nem is. Én pl. munkámból kifolyólag leginkább Korn-shellt használok, és a saját rendszreimben is egy ahhoz (a bashnál) sokkal jobban hasonlító shellt választottam.
- A hozzászóláshoz be kell jelentkezni
Minden karakter, ami nem esik bele a [0-9a-zA-Z.] intervallumba.
--
Ki oda vagyik, hol szall a galamb, elszalasztja a kincset itt alant.
- A hozzászóláshoz be kell jelentkezni
A subject-ben bash szerepel, ez a topic arról szól. Felesleges ettől eltérni. A témához kapcsolódó megjegyzésem pedig: az, hogy a bash tele lenne értelmetlen korlátokkal, szerintem túlzás, simán dolgozik a bash unicode filenevekkel, max. a terminál nem jeleníti meg pl a kanjikat, ha nincs jól belőve :-D szóval ha megnézzük, hogy mit használhatunk, és mit nem, azt hiszem kihagyható az a néhány karakter, nem csorbultak a file elnevezési lehetőségeink jelentősen... :-D
- A hozzászóláshoz be kell jelentkezni
Nem felesleges a bashtol elterni. Ugyanis az egy dolog, hogy bash alatt akarja kezelni, modositani az ember a fileokat, de nem biztos, hogy bash segitsegevel keszultek ezek a fileok, igy lehet bennuk a bash szamara specialis karakter, hiszen ezek a karakterek a keszites soran nem feltetlenul birtak specialis jelentessel.
- A hozzászóláshoz be kell jelentkezni
$ ls a!a
bash: !a: event not found
$ set +H
$ ls a!a
ls: a!a nem érhető el: Nincs ilyen fájl vagy könyvtár
- A hozzászóláshoz be kell jelentkezni
> bash: !,: event not found
> Rákerestem az üzenetre
Legalább tanultál volna valami hasznosat belőle. :)
--
2e845cb4c3a5b5bd6508455b1739a8a2
- A hozzászóláshoz be kell jelentkezni
Csak átszaladtam a topicot.
/home/neved/file!.kiterjesztés
helyett
/home/neved/file*.kiterjesztés
formát használd.
- - - - - - - - - - - - - - - - - - - - - - - - -
Fejlődőképes hiperláma, és okleveles érdekfeszítő
- A hozzászóláshoz be kell jelentkezni