Tool: RemoveOneLevel [Wechsel von Android 4.2.2 nach 4.1.1]

  • 32 Antworten
  • Letztes Antwortdatum
Achso ok. Ich dachte nur, ob du vlt. ein Leerzeichen im Namen hattest...
 
Sei mir nicht böse. Aber zu Pfaden mit Leerzeichen schriebst Du:

u.k-f schrieb:
:scared::scared: Das kann ich mir gut vorstellen, das bringt jedes Script um :scared::scared:

Nein, das bringt kein gut geschriebenes Skript um. Der Rekurs, die Programmiersprache sei schuld, ist nicht schön. Deren Entwickler haben sich schon was gedacht. Schon im Entwurf der sh waren Dateinamen mit Leerzeichen und problemloser Umgang damit vorgesehen. Wenn es trotzdem Probleme damit gibt, liegt das nicht an der Shell-Sprache.

Man möge sich bitte den Unterschied zwischen »/sdcard/$ktm« und »"/sdcard/$ktm"« klarmachen (also die Anführungszeichen). Beim Referenzieren einer Variablen gehört diese bei Shell-Scipts in Anführungszeichen, es sei denn, zusätzliche Aktionen wie Split sind erwünscht. Du hast sie ohne Anführungszeichen geschrieben und damit die Extra-Aktionen der Shell explizit angefordert. Nur Letztere brechen Dein Script. In bestimmten Umgebungen wie case, wo ein Split keinen Sinn ergibt, sind die Anführungszeichen übrigens zwar nicht nötig, aber stören auch nicht.

Das ist schon alles.

Mach' also an allen Stellen, wo in Deinem Skript »/sdcard/$ktm« steht, ein »"sdcard/$ktm"« oder, wenn Du so willst, ein »/sdcard/"$ktm"«. Und auch an anderen Stellen, wo ein $ auf der rechten Seite steht, z.B. mit $kbu.

So etwas als gottgewolltes Problem der Programmiersprache (sh) hinzustellen, halte ich nicht für angemessen.
 
Zuletzt bearbeitet:
Das mag sein, dass es möglich wäre, Leerzeichen in Pfaden zu unterstützen.

Allerdings halte ich es für so unnötig, Pfade mit Leerzeichen zu unterstützen, dass es mir nicht die Mühe eines Anführungszeichen zu tippen, wert wäre. Da habe ich genug Sinnvolles zu implementieren.

Muss ja niemand ein Script von mir verwenden.

MfG Uwe
 
Na ja. Offensichtlich hat es Deinen Anwendern Probleme bereitet. Es ist auch eine unnötige Einschränkung, die man allen denen aufbürdet, die das Script benützen müssen. Aber wenn Du Deinen Entwicklungserfolg an der Zahl der getippten Anführungszeichen bemisst statt an der Zufriedenheit der Betroffenen, magst Du Recht haben. Ich habe allerdings Zweifel, dass es nur an Tippfaulheit lag. Dazu ist in meiner Berufpraxis dieses Problem bei der sh allzusehr verbreitet und da liegt es nie an Tippfaulheit. Die ist in keiner Programmiersprache ein Thema.
 
Zuletzt bearbeitet:
Nach der ersten Meldung habe ich einen Hinweis im Startpost hinterlassen. Damit sind weitere Probleme ja ausgeschlossen.

Ausserdem isr dieses Script nur an User gerichtet, die wissen was sie tun. Diese haben entweder keine Leerzeichen im Pfad, oder wissen, was sie bei Problemen tun.

Dieses Script ist auch nicht das Produkt meines Herzens, dafür biete ich CM-Portierungen u.ä. an.

Und außerdem ist es sogar so, dass ich eher eine Prüfung auf Leerzeichen und einen Zwangsexit implementieren würde, als Leerzeichen im Pfad zu unterstützen. So einfach ist das. Support für Leerzeichen wird es von mir nicht geben.

MfG Uwe
 
Du brauchst für Leerzeichen im Pfad keine Prüfung auf Leerzeichen. Die im Pfad auszuschließen, ist eine völlig unnötige Einschränkung für Deine Anwender. Wenn Anwender darauf reinfallen (und wie hier im Thread beschrieben) und sogar Daten verlieren, ist das aber nicht deren Problem. Deine geschilderten Gründe, beruhend auf ein paar Leerzeichen, kann ich deshalb nicht nachvollziehen. Die von Dir verwendete Programmiersprache erfordert ihre Abwesenheit nicht. Das ist ist das Einzige, was zählt und nicht irgendwelche paar wenig Tastendrücke, die Dir überflüssig erscheinen. Sie sind es dort eben nicht.

Es würde Dir besser anstehen, Tipps zur Verbesserung anzunehmen. Es gibt in jedem Fachbereich Leute, die noch mehr Erfahrung haben, bei diesem Skript ist es besonders einfach. Es gibt immer Leute, die einen andern Blick auf das Angebotene haben.

Ich bitte Dich, meine Vorschläge anzunehmen und Dich nicht darauf zurückzuziehen, dass Du Recht hast und jeder, der Dein Script anwendet, eh selber schuld ist. Ich habe Dir Verbesserungsvorschläge unterbreitet und würde mich freuen, wenn auch etwas Inhaltliches kommt statt nur Zeugs, dass es Dir zu lästig ist, ein paar (durch die Programmiersprache erforderte) Anführungszeichen einzugeben.

Ich biete Dir also an, Dein Skript soweit zu bringen, dass es jeden beliebigen Dateinamen akzeptiert. Wie das geht, habe ich bereits beschrieben und Du kannst es vermutlich inzwischen selbst. Aber was – um Gottes willen – motiviert Dich zu dieser für alle Anwender unfreundlichen Erklärung, dass die Nutzer mit solchen unnötigen Einschränkungen gefälligst leben müssen und dass sogar Dateinamen mit Leerzeichen zu Datenverlust führen und sie selber schuld daran sind?

Ich finde Deine Äußerungen nicht gerade für hilfreich. Es fällt auch niemandem ein Zacken aus der Krone, wenn er in den Bereichen, wo er sich weniger auskennt (wie Shellskripten) fremde Unterstützung annimmt. Die nötigen Modifikationen an Deinem Skript habe ich Dir genannt. Aus reinem Stolz, bei Deiner Version zu bleiben, wirst Du sicher nicht diese ingorieren und weiteren Datenverlust bei Deinen Anwendern in Kauf nehmen.

Richtig gut in seinem Job ist man nur, wenn man seine Grenzen kennt.


Liebe Grüße,

mizch
 
Zuletzt bearbeitet:
Es ist nicht eine Frage des Zackens in der Krone. Ich halte Leerzeichen für nicht unterstützungswürdig.

Ich möchte keine Leerzeichen in Scripts unterstützen. Wenn Du denkst, Du bist deswegen der bessere Entwickler, so gönne ich Dir diesenTriumpf von ganzen Herzen :cool2::thumbsup::thumbup:

Wenn Du ein besseres Script anbieten möchtest, dann tue es. Es wird Dir bestimmt leicht fallen, selbst so ein Script zu erstellen. Wäre nett, wenn Du dafür mein Script nicht vergewaltigst.

Für mich ist dieses Thema durch, ich sehe einfach keinen Handlungsbedarf.

MfG Uwe
 
Ich habe die Abhilfe bereits gezeigt. Es sind nur ein paar Anführungszeichen. Leerzeichen im Dateinamen sind – inzwischen in sämtlichen Betriebssystemen – Usus (allgemeiner Gebrauch). Ich bin auch nicht besser im Entwickeln und habe viel bessere schon kennengelernt. Ich weiß nur in diesem Fall, woran es krankt. Das Internet habe ich kennengelernt (lange bevor es populär wurde) als einen guten Ort, Verbesserungsvorschläge zu bekommen und ging für meinen Teil und wo ich Beiträge geliefert habe, gerne darauf ein.

Wenn Du sie nicht akzeptieren möchtest, bin ich dafür nicht zuständig. Nach einer angebotenen Zusammenarbeit klingt Deine Antwort nicht. Viel von dem, was auch bei Android aktuell ist, beruht aber auf Zusammenarbeit (wie cm bis vor kurzem). Ich halte es für selbstverständlich, dass alle zulässigen Dateinamen auch von Scripten unterstützt werden und halte es für ein Versagen des Programmierers, nicht damit umgehen zu können. Anführungszeichen nicht tippen zu wollen halte ich für keine Entschuldigung – wie in jeder Programmiersprache gehören die hin, wenn die Sprache es vorschreibt.

Im Wesentlichen habe ich mich nur daran gestört (und auch zitiert), dass Du geschrieben hast, Leerzeichen in Dateinamen würden jedes Script brechen. Du hast damit Dein Problem zur Schuld von Anderen (einem Grundsatzproblem) erklärt. Es ist aber nur Dein Problem, nämlch wenn man nicht weiß, wie Variablen referenziert werden, ohne dass sie gesplittet werden.

Gleichzeitig halte ich es für ein Problem, Anwendern zu erklären, dass sie gefälligst auf Leerzeichen in Dateinamen zu verzichten zu haben und wenn sie das nicht tun, seien sie selber am Datenverlust schuld. Dass sämtliche Zeichen außer NUL und / in Dateinamen zulässig sind, ist seit jeher in jedem Unix Bedingung (SUS, Single Unix Specification) und Android macht da keine Ausnahme.
 
Zuletzt bearbeitet:
Sorry falls ich hier in diese 'Diskussion' so eingreife,aber ist es nicht sinnlos,diesen Thread dafuer zu benutzen? Wenn Uwe es nicht so implentieren will,dann ist es halt so... Daran kannst du nichts aendern. Ich schaetze die Arbeit von Uwe sehr,deswegen kann ich auch damit leben,Bedinungen zu erfuellen wenn ich von ihm erstellte Dinge benutzen will. (Scripts,ROMs,Recovery,Kernel)

Ich verstehe zwar nicht wirklich was von der sh Sprache aber solang es so geht,und man nur etwas darauf achten soll,dann finde ich es nicht schlimm... Ich meine jeder User darf entscheiden,ob er es benutzen will oder nicht (das Script) und dann halte ich es fuer das Mindeste,etwas drauf zu achten, dass diese Bedingung erfuellt ist..


Wie gesagt,ich kenne mich damit nicht aus,aber das ist meine Meinung dazu... Solang das Script beim Einhalten der Bedingungen ist fuer mich alles cool und in Ordnung.

Der Thread ist halt meiner Meinung nach einfach dazu da,Fragen und Probleme zu stellen,bzw sich gegenseitig zu helfen. Anregungen usw gehoeren hier zwar auch rein,aber wenn es sich um soetwas 'kompliziertes' handelt,wuerde ich es vorziehen,das per PN zu klaeren...


Das ist meine Meinung dazu!


Gruss Ardian
 
Wie schon geschrieben, bin ich nicht daran interessiert Leerzeichen zu unterstützen. Deswegen besteht auch kein Interesse an einer Zusammenarbeit, da ich an Deinem Ziel kein Interesse habe.

Ist das so schwer zu verstehen?

Ich gebe Dir doch Recht, und das hatte ich schon in meiner ersten Antwort an Dich getan, es wäre möglich, das habe ich falsch ausgedrückt, nicht jedes Script, sondern jedes Script von MIR.

Und ja, ich versuche auch jeden Tag was neues zu lernen, aber Zeug, das ich für sinnvoll halte. Dazu gehören Leerzeichen in Dateinamen nicht.

Und ich gehe soweit, ich wünsche es nicht, das irgendwas von mir auf Unterstützung von Leerzeichen in Dateinamen angepasst wird.

MfG Uwe
 
Für mich ist das kein Problem. Es entspricht nicht meinem Verständnis vom Internet und Zusammenarbeit und ein paar Anwender Deines Scripts werden darunter leiden. Aber Du hast alle Rechte daran und ich werde nichts mehr darüber schreiben.
 
Leiber mizch!

Eigentlich muss ich mich bei Dir entschuldigen, denn Du hast Dir in bestimmt bester Absicht viel Mühe gemacht. Zumindest sollte ich Dir für Deine guten Absichten danken!

Und wie ich schon geschrieben habe, hast Du ja auch Recht.

Aber ich entwickle hier für die Freude am Entwickeln. Die Freude habe ich unter anderem daran, dass ich mir manche Dinge von der 'Realität weg idealisiere' wie zum Beispiel dass ich Features, die ich für nicht erstrebenswert halte, weg ignoriere.

Ich bin überzeugt, dass Du es besser könntest, daher war es durchaus ernst gemeint, als ich schrieb, dass Du so ein Script erstellen solltest.

Und ich werde wohl nicht daran sterben, wenn Du mein Script 'als Vorlage' nehmen würdest und sogar die gleichen Variablen Namen verwendest... (mehr kann ich nicht auf Dich zu gehen, um meiner Doktrin 'Keine Leerzeichen unterstützen' treu zu bleiben)

Grüße Uwe
 
Das ist akzeptiert, danke Dir für Deine Antwort (ich musste mitten in der Nacht aufstehen, um mit jemandem in einem anderen Erdteil zu telefonieren). Es ist Dein Script und ich möchte Dir das auch nicht mit einer Ich-weiß-es-besser-und-habe das-bessere – Attitüde wegnehmen. Die nötigen Änderungen habe ich Dir genannt. Es sollte auch im Sinne jedes Entwicklers sein, robust zu programmieren. Dazu gehört auch, einen Dateinamen, der im jeweiligen Betriebssystem zulässig ist, verarbeiten zu können und dem Anwender keine unnötigen Beschränkungen aufzuerlegen.

Bei Shellscripten gibt es dazu nur einen Grenzfall, nämlich den EOL (Zeilenumbruch). Selbst der ist in Dateinamen zulässig, bricht aber ein paar häufiger genutzte Scripte, weil es gelegentlich nicht anders geht.

Es ist Dein Script und Deine Leistung. Ich bitte Dich nur, an den notwendigen Stellen ein paar Anführungszeichen einzufügen, um Anwender vor Datenverlust zu schützen.
 

Ähnliche Themen

S
Antworten
5
Aufrufe
3.889
Sleepwalker
S
U
  • Angepinnt
  • u.k-f
Antworten
7
Aufrufe
13.536
Kiwi++Soft
Kiwi++Soft
U
Antworten
0
Aufrufe
1.282
u.k-f
U
Zurück
Oben Unten