Je zegt net dat je wildcards met een - erin niet wilt expanden? Maar dus wel als je wildcard toevallig met een - begint? Zie? Het wordt er allemaal veel ingewikkelder op vind ik, en dat allemaal voor exact logisch en voorspelbaar gedrag waar je af en toe rekening mee moet houden, maar dat is met alles zo.
* is een wildcard, -* is een string met een wildcard erin (IMO). De * mag dus niet matchen met een string die begint met -.blaataaps schreef op 31 oktober 2004 @ 20:08:
Je zegt net dat je wildcards met een - erin niet wilt expanden? Maar dus wel als je wildcard toevallig met een - begint? Zie? Het wordt er allemaal veel ingewikkelder op vind ik, en dat allemaal voor exact logisch en voorspelbaar gedrag waar je af en toe rekening mee moet houden, maar dat is met alles zo.
Ben jij toevallig ook voorstander van alleen werken onder root?Zie? Het wordt er allemaal veel ingewikkelder op vind ik, en dat allemaal voor exact logisch en voorspelbaar gedrag waar je af en toe rekening mee moet houden, maar dat is met alles zo.
Dat is ook compleet voorspelbaar enzo.
[ Voor 22% gewijzigd door Olaf van der Spek op 31-10-2004 20:13 ]
Fout. Het zijn allebei globs.OlafvdSpek schreef op 31 oktober 2004 @ 20:12:
[...]
* is een wildcard, -* is een string met een wildcard erin (IMO). De * mag dus niet matchen met een string die begint met -.
All my posts are provided as-is. They come with NO WARRANTY at all.
Ik had het over wildcards, niet globs.CyBeR schreef op 31 oktober 2004 @ 20:17:
Fout. Het zijn allebei globs.
* is technisch gezien ook een string met een wildcard, namelijk alleen die wildcard, maar ik zie je punt nu iets meer. Er zijn vast ook wel andere tekens die door bepaalde programmas geinterpreteerd worden als opties in plaats van bestanden, moeten we die ook allemaal gaan overslaan met globbing?OlafvdSpek schreef op 31 oktober 2004 @ 20:12:
[...]
* is een wildcard, -* is een string met een wildcard erin (IMO). De * mag dus niet matchen met een string die begint met -.
Wat dat er mee te maken heeft ontgaat me helaas volledig.[...]
Ben jij toevallig ook voorstander van alleen werken onder root?
Dat is ook compleet voorspelbaar enzo.
Als je nog een stukje terugleest, zie je ook dat ik zei dat het wel degelijk kwaad kan dat je als user alleen alle files kunt verwijderen waar je rechten voor hebtTrailBlazer schreef op 31 oktober 2004 @ 18:33:
[...]
hmm op mijn werk hebben we een tftpboot dir met 12000 routerconfigs erin. daar wordt je dan ook niet echt vrolijk van. Deze moet namelijk read write voor everybody zijn
micheljansen.org
Fulltime Verslaafde Commandline Fetisjist ©
* is een glob. Net als [aAbB].
Je matched met 'foo*' alles wat met foo begint, met '[ab]*' alles met een of een b begint, en met '*' gewoon alles.
Nogmaals, er is geen probleem. Ik snap nog steeds niet waarom er een probleem gemaakt wordt hier. '*' doet gewoon precies wat je wilt: een lijst geven van alle files in de huidige directory. Als je daar './' voorzet ('./*') krijg je een lijst met alle files in de huidige directory met './' ervoor. Dat is ook precies de manier waarop je files beginnend met een '-' weghaalt: 'rm ./-file'.
All my posts are provided as-is. They come with NO WARRANTY at all.
Waar beweerde ik dat dat niet het geval was dan?blaataaps schreef op 31 oktober 2004 @ 20:19:
* is technisch gezien ook een string met een wildcard, namelijk alleen die wildcard, maar ik zie je punt nu iets meer.
Dat hangt ervan af. Als die apps vaak gebruikt worden, misschien wel.Er zijn vast ook wel andere tekens die door bepaalde programmas geinterpreteerd worden als opties in plaats van bestanden, moeten we die ook allemaal gaan overslaan met globbinng?
Patchen om gewoon - te gebruiken voor opties kan ook.
Veel mensen vinden gescheiden accounts ook veel ingewikkelder. ("Het wordt er allemaal veel ingewikkelder op vind ik")Wat dat er mee te maken heeft ontgaat me helaas volledig.
[ Voor 8% gewijzigd door Olaf van der Spek op 31-10-2004 20:38 ]
Zullen we die discussie maar laten varen? Dat gaat nergens over, we hadden het over gewenst gedrag van een shell, niet van de gebruiker die daar gebruik van maakt.OlafvdSpek schreef op 31 oktober 2004 @ 20:23:
Wat dat er mee te maken heeft ontgaat me helaas volledig.
Veel mensen vinden gescheiden accounts ook veel ingewikkelder. ("Het wordt er allemaal veel ingewikkelder op vind ik")
Daarnaast is het ook nog eens ontzettende onzin
Ik ben allang blij dat je onder Windows XP niet allemaal meer standaard administrator bent, nu verschuiven de virussen tenminte van user-based naar exploit-based
[ Voor 23% gewijzigd door dawuss op 31-10-2004 20:26 ]
micheljansen.org
Fulltime Verslaafde Commandline Fetisjist ©
Veel mensen vinden een computer gebruiken ook ingewikkelder dan een typmachine, dat is natuurlijk een non-argument en slaat nergens op. Voor de rest sluit ik me nogmaals aan bij cyber hierboven, er IS geen probleem, men maakt het een probleem, en als iemand het echt zo'n groot probleem vindt, bash en rm op de meeste linux-systemen zijn gereleased onder de GPL, en ik wil die mensen dan ook van harte aanmoedingen het naar eigen goeddunken te patchen.OlafvdSpek schreef op 31 oktober 2004 @ 20:23:
[...]
Veel mensen vinden gescheiden accounts ook veel ingewikkelder. ("Het wordt er allemaal veel ingewikkelder op vind ik")
[ Voor 18% gewijzigd door blaataaps op 31-10-2004 20:27 ]
Gebruik het ingewikkelder zijn van iets dan ook niet als (tegn)argument.en slaat nergens op.
Dat kan best zo zijn, maar ik had het niet over globs. Ik had het over de/het wildcard (karakter) zelf.CyBeR schreef op 31 oktober 2004 @ 20:22:
* is een glob. Net als [aAbB].
Maar dit is gewoon een implementiedetail. Het idee is om - en -- te voorkomen, tenzij de gebruiker er zelf om gevraagd heeft
Volgens jou niet, volgens anderen wel.Nogmaals, er is geen probleem.
Waarom zou de situatie niet 'verbeterd' kunnen worden?
[ Voor 13% gewijzigd door Olaf van der Spek op 31-10-2004 20:42 ]
Omdat dit gedrag exact is wat je er van verwacht. Of zou jij het logisch vinden dat software opeens iets anders gaat doen dan waar je om vraagt? Ik vraag door het gebruik van '*' in een glob om alle files die matchen. Dus ook files die beginnen met een -. Sommige tooltjes gebruiken ook + voor argumenten, moeten we die dan ook maar weglaten? Andere apps hebben helemaal geen prefix nodig. Bij nader inzien denk ik dat we globs maar beter helemaal af kunnen schaffen. Da's mischien 'makkelijker'.OlafvdSpek schreef op 31 oktober 2004 @ 20:41:
Volgens jou niet, volgens anderen wel.
Waarom zou de situatie niet 'verbeterd' kunnen worden?
All my posts are provided as-is. They come with NO WARRANTY at all.
Nee, dit is wat jij ervan verwacht, niet wat iedereen ervan verwacht.CyBeR schreef op 31 oktober 2004 @ 20:45:
Omdat dit gedrag exact is wat je er van verwacht.
Ander matching gedrag kan toch als optie geimplementeerd worden?
Je doet nu net of dat niet mogelijk is.
Dan zet je zo'n veiligheidsoptie toch niet aan?Of zou jij het logisch vinden dat software opeens iets anders gaat doen dan waar je om vraagt? Ik vraag door het gebruik van '*' in een glob om alle files die matchen. Dus ook files die beginnen met een -.
Dus als jij vraagt om een lijst met alle files, dan verwacht je slechts een deel daarvan te krijgen?OlafvdSpek schreef op 31 oktober 2004 @ 20:50:
[...]
Nee, dit is wat jij ervan verwacht, niet wat iedereen ervan verwacht.
Ander matching gedrag kan toch als optie geimplementeerd worden?
Je doet nu net of dat niet mogelijk is.
Vreemd.
All my posts are provided as-is. They come with NO WARRANTY at all.
Jawel, het is wel wat iedereen ervan verwacht: Zo is het al 20 jaar.OlafvdSpek schreef op 31 oktober 2004 @ 20:50:
[...]
Nee, dit is wat jij ervan verwacht, niet wat iedereen ervan verwacht.
Ander matching gedrag kan toch als optie geimplementeerd worden?
Je doet nu net of dat niet mogelijk is.
En dan? Dan weet je vantevoren, als je je scripts schrijft, nooit meer of je gebruiker het aan of uit heeft staan. Lekker ambiguun wordt het dan, dan zaag je de hele logiscje basis onder de bash shell uit.Dan zet je zo'n veiligheidsoptie toch niet aan?
micheljansen.org
Fulltime Verslaafde Commandline Fetisjist ©
Hoezo alle bestanden?CyBeR schreef op 31 oktober 2004 @ 20:54:
Dus als jij vraagt om een lijst met alle files, dan verwacht je slechts een deel daarvan te krijgen?
Vreemd.
Bestanden die beginnen met een punt worden toch ook niet gematched?
Bovendien gaat het dus vooral om de combinatie met rm en andere utilities.
Waarom is er dan een topic met 100+ posts over?dawuss schreef op 31 oktober 2004 @ 20:57:
Jawel, het is wel wat iedereen ervan verwacht: Zo is het al 20 jaar.
Je gaat me toch niet vertellen dat je denkt dat zo'n implementatie detail niet opgelost kan worden?En dan? Dan weet je vantevoren, als je je scripts schrijft, nooit meer of je gebruiker het aan of uit heeft staan. Lekker ambiguun wordt het dan, dan zaag je de hele logiscje basis onder de bash shell uit.
Dat is dan ook de reden dat ze met een punt beginnen: zodat ze niet gematched worden.OlafvdSpek schreef op 31 oktober 2004 @ 20:57:
[...]
Hoezo alle bestanden?
Bestanden die beginnen met een punt worden toch ook niet gematched?
Omdat sommige mensen hier een probleem zien waar dat er niet is.OlafvdSpek schreef op 31 oktober 2004 @ 20:59:
[...]
Waarom is er dan een topic met 100+ posts over?
[ Voor 29% gewijzigd door CyBeR op 31-10-2004 21:02 ]
All my posts are provided as-is. They come with NO WARRANTY at all.
Omdat een enkele topicstarter zich dit bedacht, en er een handjevol mensen hier over speculeert?OlafvdSpek schreef op 31 oktober 2004 @ 20:59:
[...]
Waarom is er dan een topic met 100+ posts over?
Het kan niet worden opgelost zonder backwards compatibility te verliezen, en ook al implementeer je het op deze manier, dan is de functionaliteit van de shell niet meer "eenvoudig en eenduidig".Je gaat me toch niet vertellen dat je denkt dat zo'n implementatie detail niet opgelost kan worden?
Ik haal even een quote van mezelf aan:
dawuss schreef op 29 oktober 2004 @ 19:57:
De Unix filosofie is dat er een heleboel kleine tooltjes zijn, met allemaal een kleine, maar welgedefinieerde functie. Je weet van alle kleine dingen, dus ook de shell, hoe ze werken, en kunt die functionaliteit combineren. Ga je echter met die simpele functionaliteit knoeien, door bijvoorbeeld je shell semi-intelligent te maken, dan ondermijn je daarmee het verwachtingspatroon van je gebruiker.
Heb je geen zin om zo'n verwachtingspatroon te ontwikkelen? Blijf dan gewoon lekker bij grafische frontends, die zijn er tenslotte voor ontwikkeld zich aan te passen aan jouw gedachtenpatroon
Voor meer over (grafische) gebruikersinterfaces, zijn je keywords "Human Media Interaction"
micheljansen.org
Fulltime Verslaafde Commandline Fetisjist ©
Eh, sinds wanneer betekent alle, alle, behalve als de naam begint met een punt?CyBeR schreef op 31 oktober 2004 @ 21:01:
Dat is dan ook de reden dat ze met een punt beginnen: zodat ze niet gematched worden.
Waaorm niet?dawuss schreef op 31 oktober 2004 @ 21:03:
Het kan niet worden opgelost zonder backwards compatibility te verliezen.
[ Voor 26% gewijzigd door Olaf van der Spek op 31-10-2004 21:07 ]
De naam begint met een punt om niet onder 'alle' te vallen. Daar verwacht je dus dat ze niet matchen. Net zoals je ze niet ziet in 'ls'. Files die beginnen met een - zie ik wel in ls, dus verwacht ik dat ze matchen.OlafvdSpek schreef op 31 oktober 2004 @ 21:05:
[...]
Eh, sinds wanneer betekent alle, alle, behalve als de naam begint met een punt?
All my posts are provided as-is. They come with NO WARRANTY at all.
Volgens mij matched * dus niet alle files, maar alle normale files. En normale files zijn dan files waarvan de naam niet met een punt begint.CyBeR schreef op 31 oktober 2004 @ 21:09:
De naam begint met een punt om niet onder 'alle' te vallen. Daar verwacht je dus dat ze niet matchen. Net zoals je ze niet ziet in 'ls'. Files die beginnen met een - zie ik wel in ls, dus verwacht ik dat ze matchen.
Maar waarom zou zo'n zelfde 'afspraak' niet (als optie) voor - gemaakt kunnen worden?
De enige uitzondering die er is, is de punt. We kunnen (en willen) niet meer uitzonderingen maken omdat dat a) bestaande programma's en scripts die afhankelijk zijn van het bestaande, normale gedrag breekt en b) we dan net zo goed alles wat begint met een 'p' kunnen hiden zodat we niet perongeluk /etc/passwd weggooien. Anders gezegd: dan is het hek van de dam.OlafvdSpek schreef op 31 oktober 2004 @ 21:13:
[...]
Volgens mij matched * dus niet alle files, maar alle normale files. En normale files zijn dan files waarvan de naam niet met een punt begint.
Maar waarom zou zo'n zelfde 'afspraak' niet (als optie) voor - gemaakt kunnen worden?
Eigenlijk komt het op het volgende neer: If you can't stand the heat, get out of the kitchen. Of anders gezegd: Als je niet weet hoe je met een shell om moet gaan, blijf er dan met je poten van af.
Realiseer je je, dat een dergelijke verandering met terugwerkende kracht in alle UNIXen en UNIX-achtigen geimplementeerd zou moeten worden? En dat als dat gebeurd is, alle programma's en alle scripts gecontroleerd en in sommige gevallen aangepast zouden moeten worden? Wil jij het dan voor ons doen?
All my posts are provided as-is. They come with NO WARRANTY at all.
Dat kan prima, maar om nu een afspraak te maken die een scriptingstandaard en een verwachting die al 30 jaar bestaan en voldoen schendt omdat sommige programmas een - interpreteren als optie, lijkt me op grote schaal kansloos en zinloos. Niks staat je echter in de weg de OvdSsh te makenOlafvdSpek schreef op 31 oktober 2004 @ 21:13:
[...]
Volgens mij matched * dus niet alle files, maar alle normale files. En normale files zijn dan files waarvan de naam niet met een punt begint.
Maar waarom zou zo'n zelfde 'afspraak' niet (als optie) voor - gemaakt kunnen worden?
Ik heb het aan dawuss ook al gevraagd, maar waarom zou zo'n optie niet in een backwards compatibel manier geimplementeerd kunnen worden?CyBeR schreef op 31 oktober 2004 @ 21:19:
De enige uitzondering die er is, is de punt. We kunnen (en willen) niet meer uitzonderingen maken omdat dat a) bestaande programma's en scripts die afhankelijk zijn van het bestaande, normale gedrag breekt en b) we dan net zo goed alles wat begint met een 'p' kunnen hiden zodat we niet perongeluk /etc/passwd weggooien. Anders gezegd: dan is het hek van de dam.
Omdat 't hele zooitje dan een grote ononderhoudbare klucht wordt.OlafvdSpek schreef op 31 oktober 2004 @ 21:23:
[...]
Ik heb het aan dawuss ook al gevraagd, maar waarom zou zo'n optie niet in een backwards compatibel manier geimplementeerd kunnen worden?
All my posts are provided as-is. They come with NO WARRANTY at all.
Hier keer je de bewijslast omOlafvdSpek schreef op 31 oktober 2004 @ 21:23:
[...]
Ik heb het aan dawuss ook al gevraagd, maar waarom zou zo'n optie niet in een backwards compatibel manier geimplementeerd kunnen worden?
Kun jij een manier bedenken waarop het nog wel backwards compatible werkt? Ik niet namelijk
micheljansen.org
Fulltime Verslaafde Commandline Fetisjist ©
Meegeven als een optie (en dan hopelijk een die begint met een -, anders werkt de optie niet op zichzelf), zodat je heerlijk unportable schell-scripts kun schrijven, #!/bin/sh --do-silly-stuff.dawuss schreef op 31 oktober 2004 @ 21:27:
[...]
Hier keer je de bewijslast om
Kun jij een manier bedenken waarop het nog wel backwards compatible werkt? Ik niet namelijk
Ik begin nu de indruk te krijgen dat iedereen tegen beter weten in op elkaar inlult zonder een steek verder te komen. Hoewel het allemaal in principe wel on-topic is, wil ik toch verzoeken er geen simpele "welles-nietus"-wedstrijd van te maken
Jij claimt toch dat het niet kan?dawuss schreef op 31 oktober 2004 @ 21:27:
Hier keer je de bewijslast om
Kun jij een manier bedenken waarop het nog wel backwards compatible werkt? Ik niet namelijk
Ik vraag je om die claim te onderbouwen, maar dat kan blijkbaar niet.
Maar een manier lijkt mij om de optie via een environment variabele in te schakelen en alleen toe te passen op interactive terminals.
[ Voor 9% gewijzigd door Olaf van der Spek op 31-10-2004 21:38 ]
Ik denk dat de shell aanpassen niet erg handig is.
Er zijn 2 mogelijkheden
1) Unix aanpassen, en zorgen dat de shell meegeeft aan een programma wat opties zijn en wat bestanden, en dat allemaal op een heel standaard manier, voor alle bestanden gelijk.
2) Makers van tools als rm vertellen dat ze bij hun schakelopties eerst kijken of het ook om een bestand kan gaan, en zo ja, een vraag stellen, of dat bestand verwijderen, eventueel nog met een optie als "altijd bestand verwijderen" "altijd commando uitvoeren".
Dit is gewoon iets waar programmeurs rekening mee moeten houden, het is gewoon een bug.
Ik bedoel, je kunt iedere bug wel een feature gaan noemen.
Een veiligheidslek in Apache? Nee jo, da's remote access tot m'n machine.
Er zijn 2 mogelijkheden
1) Unix aanpassen, en zorgen dat de shell meegeeft aan een programma wat opties zijn en wat bestanden, en dat allemaal op een heel standaard manier, voor alle bestanden gelijk.
2) Makers van tools als rm vertellen dat ze bij hun schakelopties eerst kijken of het ook om een bestand kan gaan, en zo ja, een vraag stellen, of dat bestand verwijderen, eventueel nog met een optie als "altijd bestand verwijderen" "altijd commando uitvoeren".
Dit is gewoon iets waar programmeurs rekening mee moeten houden, het is gewoon een bug.
Ik bedoel, je kunt iedere bug wel een feature gaan noemen.
Een veiligheidslek in Apache? Nee jo, da's remote access tot m'n machine.

OlafvdSpek wil je ajb ophouden met het wellus nietus spelletje wat je hier speelt? Kom jij maar met eens stuk code waar jij in aantoont dat het MET behoud van de huidige scripts die er zijn aangepast kan worden en dan praten we verder. Doe je dat niet dan heb je je punt nu wel gemaakt, gezien dat er mensen het niet met je eens zijn juist omwille van die backwards compatible-heid en zul jij dus moeten aantonen dat het wel kan. Daarmee sluit ik dus ook die discussie en geef ik je 1 tip, begin er niet weer over zonder met bewijs te komen want je zit hier verschrikkelijk te irriteren zonder met feiten te komen.
Woonachtig Down Under. Ik negeer je insults niet, maar tegen de tijd dat ik ze lees zijn ze meestal niet relevant meer
De vraag is of het een bug in bash is, en daarop is het antwoord gewoon nee. Je weet hoe de shell werkt, je weet hoe je er mee om moet gaan of niet. Je weet hoe globbing werkt of niet.pierre-oord schreef op 31 oktober 2004 @ 23:00:
Ik denk dat de shell aanpassen niet erg handig is.
Er zijn 2 mogelijkheden
1) Unix aanpassen, en zorgen dat de shell meegeeft aan een programma wat opties zijn en wat bestanden, en dat allemaal op een heel standaard manier, voor alle bestanden gelijk.
2) Makers van tools als rm vertellen dat ze bij hun schakelopties eerst kijken of het ook om een bestand kan gaan, en zo ja, een vraag stellen, of dat bestand verwijderen, eventueel nog met een optie als "altijd bestand verwijderen" "altijd commando uitvoeren".
Dit is gewoon iets waar programmeurs rekening mee moeten houden, het is gewoon een bug.
Ik bedoel, je kunt iedere bug wel een feature gaan noemen.
Een veiligheidslek in Apache? Nee jo, da's remote access tot m'n machine.
Dan kan je wel alles wat jij niet als gewenst gedrag ziet als bug aanmerken, maar alle shells doen het al 30 jaar op deze manier en denk je nou werkelijk dat al die mensen voor ons er niet over nagedacht hebben? Die wisten gelukkig hoe ze met een shell om moesten gaan en vonden dit dus gewenst/verwacht gedrag.
Woonachtig Down Under. Ik negeer je insults niet, maar tegen de tijd dat ik ze lees zijn ze meestal niet relevant meer
Zoals ik al zei:Zwerver schreef op 31 oktober 2004 @ 23:05:
OlafvdSpek wil je ajb ophouden met het wellus nietus spelletje wat je hier speelt? Kom jij maar met eens stuk code waar jij in aantoont dat het MET behoud van de huidige scripts die er zijn aangepast kan worden en dan praten we verder.
Waarom zou dit idee omgezet moeten worden in (concept) code om te laten zien dat het kan werken?Maar een manier lijkt mij om de optie via een environment variabele in te schakelen en alleen toe te passen op interactive terminals (en dus niet in scripts).
Bovendien heb ik hierboven net aangegeven waarom ik vind dat ik niet de bewijslast omdraai en heb ik volgens mij niet een keer wellus gezegd.
[ Voor 24% gewijzigd door Olaf van der Spek op 31-10-2004 23:28 ]
Omdat jij beweert dat je op die manier backwards compatible bent en mensen met kennis van de shell (blaataaps, CyBeR, dawuss e.d.) heel duidelijk aangeven dat dit niet waar is. Sowieso is het nou eenmaal zo dat je een bewering dient te staven.OlafvdSpek schreef op 31 oktober 2004 @ 23:19:
[...]
Zoals ik al zei:
[...]
Waarom zou dit idee omgezet moeten worden in (concept) code om te laten zien dat het kan werken?
Bovendien heb ik hierboven net aangegeven waarom ik vind dat ik niet de bewijslast omdraai en heb ik volgens mij niet een keer wellus gezegd.
Nee je hebt geen wellus gezegt, maar je probeerd wel uit alle macht je zin te krijgen en dus vragen we nu om een proof of concept. Kan je die niet geven dan slaat je bewering dus nergens op. Net zo goed dat als bijv. ik moet aantonen dat mijn buurman idd zijn eigen tv gejat heeft om de verzekering te liften.
Nog even over die env vars. Dat houd dus in dat je een script kan hebben wat je hele dir leeggooit en je het dus alleen voor de onhandige gebruiker aanpast. Niet werkbaar dus
[ Voor 9% gewijzigd door Zwerver op 31-10-2004 23:55 ]
Woonachtig Down Under. Ik negeer je insults niet, maar tegen de tijd dat ik ze lees zijn ze meestal niet relevant meer
Ik heb na mijn post van zondag 31 oktober 2004 21:36 waarin ik het heb over een idee voor een concrete implementatie nog geen post van een van hen gezien.Zwerver schreef op 31 oktober 2004 @ 23:54:
Omdat jij beweert dat je op die manier backwards compatible bent en mensen met kennis van de shell (blaataaps, CyBeR, dawuss e.d.) heel duidelijk aangeven dat dit niet waar is. Sowieso is het nou eenmaal zo dat je een bewering dient te staven.
Welke bewering?Nee je hebt geen wellus gezegt, maar je probeerd wel uit alle macht je zin te krijgen en dus vragen we nu om een proof of concept. Kan je die niet geven dan slaat je bewering dus nergens op.
Volgens mij heb ik nergens gezegd dat ik zeker weet dat het wel backwards compatible kan.
Voor de handige gebruiker was het toch geen probleem?Nog even over die env vars. Dat houd dus in dat je een script kan hebben wat je hele dir leeggooit en je het dus alleen voor de onhandige gebruiker aanpast. Niet werkbaar dus
[ Voor 5% gewijzigd door Olaf van der Spek op 01-11-2004 00:23 ]
Verwijderd
@OlafvdSpek:
Waarom zou je in de naam der unix goden er voor willen zorgen dat de Shell anders reageert op een script dan op de input van de gebruiker.
Nou ik weet wel waarom niet.
Het idee van een script is dat het de taak van een admin/gebruiker over neemt. In essentie is het dus het idee dat het om de directe commando's gaat die de admin ook in zou typen.
Geen wonder dan ook dat veel scripts geboren worden via het commando history > blaat.sh
Dit omdat je wilt dat het script "precies" doet wat jij ook zou doen.
Elke en daarmee bedoel ik ELKE verandering tussen het uitvoeren van commando's van een admin in sequentie of een script, is dodelijk.
En dan mogelijk nog niet zozeer vanuit practiese reden als wel de gedachte die erachter zit.
Immers het script IS de gebruiker/admin, echter de admin/gebruiker is een goede admin/gebruike en dus te lui om zich met zulke zaken te bemoeien.
Waarom zou je in de naam der unix goden er voor willen zorgen dat de Shell anders reageert op een script dan op de input van de gebruiker.
Nou ik weet wel waarom niet.
Het idee van een script is dat het de taak van een admin/gebruiker over neemt. In essentie is het dus het idee dat het om de directe commando's gaat die de admin ook in zou typen.
Geen wonder dan ook dat veel scripts geboren worden via het commando history > blaat.sh
Dit omdat je wilt dat het script "precies" doet wat jij ook zou doen.
Elke en daarmee bedoel ik ELKE verandering tussen het uitvoeren van commando's van een admin in sequentie of een script, is dodelijk.
En dan mogelijk nog niet zozeer vanuit practiese reden als wel de gedachte die erachter zit.
Immers het script IS de gebruiker/admin, echter de admin/gebruiker is een goede admin/gebruike en dus te lui om zich met zulke zaken te bemoeien.
Verwijderd
Dus dan heb je het misschien voor rm opgelost, maar zijn andere progs (die geen '-' als prefix gebruiken) nog steeds vatbaar voor dit soort spul. Of het moet zijn dat je een standaard wilt stellen dat alle progs '-' gebruiken..
edit:
ow.. 2 pagina's
ow.. 2 pagina's

[ Voor 9% gewijzigd door Verwijderd op 01-11-2004 07:47 ]
Waarom denk je dat ze niet reageren? Omdat jij ubermachtig en alwetend bent? Of omdat ze zien dat jij toch je ongelijk niet zal willen toegeven... Soms hebben mensen wel de sociale vaardigheden om zich te ontrekken aan een discussie als ze zien dat de "tegenpartij" niet bereid is te luisteren naar argumenten.OlafvdSpek schreef op 01 november 2004 @ 00:19:
[...]
Ik heb na mijn post van zondag 31 oktober 2004 21:36 waarin ik het heb over een idee voor een concrete implementatie nog geen post van een van hen gezien.
Dit geeft imho alleen maar aan dat je niet weet wat je zelf beweerd.[...]
Welke bewering?
Volgens mij heb ik nergens gezegd dat ik zeker weet dat het wel backwards compatible kan.
[...]
Zie wat Aapopfiets hierboven zegt. Je wil scripts geen andere env geven dan de user omdat scripts eigenlijk gewoon de taken overnemen van een user.Voor de handige gebruiker was het toch geen probleem?
Woonachtig Down Under. Ik negeer je insults niet, maar tegen de tijd dat ik ze lees zijn ze meestal niet relevant meer
Volgens mij werkt ~ ook niet in scripts, dus dat scripts en de command line equivalent zijn is nu al niet waar.Verwijderd schreef op 01 november 2004 @ 01:01:
@OlafvdSpek:
Waarom zou je in de naam der unix goden er voor willen zorgen dat de Shell anders reageert op een script dan op de input van de gebruiker.
Nou ik weet wel waarom niet.
Het idee van een script is dat het de taak van een admin/gebruiker over neemt. In essentie is het dus het idee dat het om de directe commando's gaat die de admin ook in zou typen.
Geen wonder dan ook dat veel scripts geboren worden via het commando history > blaat.sh
Dit omdat je wilt dat het script "precies" doet wat jij ook zou doen.
En als scripts last zouden hebben van deze bug/feature, zijn ze dan wel safe?
Dat was de vraag niet.Zwerver schreef op 01 november 2004 @ 10:11:
Waarom denk je dat ze niet reageren? Omdat jij ubermachtig en alwetend bent? Of omdat ze zien dat jij toch je ongelijk niet zal willen toegeven... Soms hebben mensen wel de sociale vaardigheden om zich te ontrekken aan een discussie als ze zien dat de "tegenpartij" niet bereid is te luisteren naar argumenten.
Bovendien ben ik dus nog steeds op zoek naar argumenten waarom het (mijn idee met env en alleen interactive terminals) niet zou kunnen werken.
[ Voor 32% gewijzigd door Olaf van der Spek op 01-11-2004 10:19 ]
Volgens mij wel, sterker nog, dat weet ik wel zeker, of de /bin/sh op freebsd heeft een "bug" dat het wel werkt.
er zijn inderdaad verschillen, die zijn er al jaren en die zijn bekend, het voorbeeld dat jij gaf is daar echter niet een van.dus dat scripts en de command line equivalent zijn is nu al niet waar.
als ze zijn gemaakt door iemand die weet wat ie doet wel, sowieso moet je goed nadenken voor je een rm * of iets dergelijks in een script wil plakken.En als scripts last zouden hebben van deze bug/feature, zijn ze dan wel safe?
Hmm, daar zal ik nog eens naar kijken dan.blaataaps schreef op 01 november 2004 @ 10:20:
Volgens mij wel, sterker nog, dat weet ik wel zeker, of de /bin/sh op freebsd heeft een "bug" dat het wel werkt.
Maar als je zelf een environment variabele zet om dit verschil aan te zetten, dan weet je dat toch ook?er zijn inderdaad verschillen, die zijn er al jaren en die zijn bekend, het voorbeeld dat jij gaf is daar echter niet een van.
Cyber gaf als veilige versie rm ./*als ze zijn gemaakt door iemand die weet wat ie doet wel, sowieso moet je goed nadenken voor je een rm * of iets dergelijks in een script wil plakken.
Die versie heeft dus geen last van dit verschil.
Wat voor soort commando zou er wel last van hebben, maar toch veilig zijn?
mijn zin met "jouw voorbeeld" sloeg op het ~-verhaal, de discussie over het hele "-r"- verhaal heb ik niks meer aan bij te dragen en heb ik mijn mening over gegeven: wat mij betreft is het geen bug, is het logisch, gedocumenteerd en voorspelbaar, moet je extra voorzichtig zijn of het niet gebruiken als je bang bent voor dit soort problemen, en van bijna alles shells met deze feature is de source bekend, en ik houd niemand tegen het te patchen.OlafvdSpek schreef op 01 november 2004 @ 10:29:
Maar als je zelf een environment variabele zet om dit verschil aan te zetten, dan weet je dat toch ook?
Je hebt ook nog de directories "." en "..". Heel erg leuk:OlafvdSpek schreef op 31 oktober 2004 @ 21:05:
[...]
Eh, sinds wanneer betekent alle, alle, behalve als de naam begint met een punt?
[...]
Waaorm niet?
code:
1
2
| cd /tmp rm -rf * |
Vervolgens kan je zwaaien naar je systeem omdat ".." matcht op je wildcard, waardoor rm een dir hoger gaat en leuk je hele filesystem meeneemt. Is dat verwacht gedrag? Tuurlijk niet! Of het niet includen van bestanden die beginnen met een punt te maken heeft met bovenstaande, of dat bovenstaande op die manier is geimplementeerd vanwege het niet includen van dotfiles in een wildcard weet ik niet, maar ik zie er enige logica in.
Natuurlijk, ik ook. Ik wilde alleen maar duidelijk maken dat * dus niet alle betekent._JGC_ schreef op 01 november 2004 @ 12:51:
Je hebt ook nog de directories "." en "..". Heel erg leuk:
code:
1 2 cd /tmp rm -rf *
Vervolgens kan je zwaaien naar je systeem omdat ".." matcht op je wildcard, waardoor rm een dir hoger gaat en leuk je hele filesystem meeneemt. Is dat verwacht gedrag? Tuurlijk niet! Of het niet includen van bestanden die beginnen met een punt te maken heeft met bovenstaande, of dat bovenstaande op die manier is geimplementeerd vanwege het niet includen van dotfiles in een wildcard weet ik niet, maar ik zie er enige logica in.
Verwijderd
Oh, zo. Nee, maar kijk, dan is het (vind ik dan) een theoretisch probleem met een niet al-te-grote praktische impact. De door jou en mij aangehaalde probleemgevallen zijn grotendeels theoretisch van aard, als in: dat zal in de praktijk niet snel gebeuren. In de door anderen aangehaalde gevallen is er sowieso al iets mis met de beveiliging (bv. r/w-for-all), en dan is dit niet meer dan een grappig geintje, een soort bonus voor als je toch al te ver in het systeem bent doorgedrongen.dawuss schreef op 31 oktober 2004 @ 12:44:
Dat zeg ik ook niet.
Ik ging slechts in op de aanname dat het niet erg is als een gewone gebruiker perongeluk rm -rf / doet, omdat hij toch alleen maar schrijfrechten heeft in zijn eigen homedir.
Niet dat ik dit gedrag zo geweldig vind, er kan vast wel 't een en ander aan verbeterd worden...
[edit]
Trouwens, nog even aan olafvdspek. Vergeet je niet dat het gedrag van rm en dergelijke tools grotendeels is beschreven in standaarden als UNIX en POSIX? als iedereen maar wat aanklooide met die utilities, was compatibility binnen UNIX-like varianten een grote teringzooi.
[ Voor 14% gewijzigd door Verwijderd op 01-11-2004 14:42 ]
Dat was ik inderdaad vergeten, maar ik stelde een optionele verandering van de shell voor. Aan utilities hoeft dus niks veranderd te worden.Verwijderd schreef op 01 november 2004 @ 14:39:
Trouwens, nog even aan olafvdspek. Vergeet je niet dat het gedrag van rm en dergelijke tools grotendeels is beschreven in standaarden als UNIX en POSIX? als iedereen maar wat aanklooide met die utilities, was compatibility binnen UNIX-like varianten een grote teringzooi.
De shell zit ook al jaren met dat gedrag. Dus ook de shell veranderen is het veranderen van de UNIX en POSIX standaarden
Woonachtig Down Under. Ik negeer je insults niet, maar tegen de tijd dat ik ze lees zijn ze meestal niet relevant meer