• Gamma@programming.dev
        link
        fedilink
        English
        arrow-up
        5
        ·
        9 days ago

        Single quotes don’t allow any escaping in shell, you need

        'I don'\''t know what you mean, I'\''ve never encountered any annoyances'
        

        Or, in Zsh with setopt rcquotes:

        'I don''t know what you mean, I''ve never encountered any annoyances'
        
  • lemming741@lemmy.world
    link
    fedilink
    English
    arrow-up
    50
    ·
    10 days ago

    Microsoft intentionally made programs install to C:\Program Files on Windows 95+ to force programmers to deal with spaces in filenames.

    Someone make one of those “statements made by the utterly deranged” memes about it, please and thank you.

    • FrostyPolicy@suppo.fi
      link
      fedilink
      arrow-up
      18
      ·
      edit-2
      10 days ago

      On Linux file systems you can use any character except NULL, and / is a reserved character.

      E.g. on ext-4 “All characters and character sequences permitted, except for NULL (‘\0’), ‘/’, and the special file names “.” and “…” which are reserved for indicating (respectively) current and parent directories.”

      • xthexder@l.sw0.com
        link
        fedilink
        arrow-up
        14
        ·
        10 days ago

        I once accidentally created a file with a newline character in it… it was pretty tricky to fix from command line.

        • lad@programming.dev
          link
          fedilink
          English
          arrow-up
          5
          ·
          10 days ago

          I created a file with backspace in name, it was hard to understand why filename doesn’t match

        • GenderNeutralBro@lemmy.sdf.org
          link
          fedilink
          English
          arrow-up
          5
          ·
          10 days ago

          I actually did this a lot on classic Mac OS. Intentionally.

          The reason was that you could put a carriage return as the first character of a file, and it would sort above everything else by name while otherwise being invisible. You just had to copy the carriage return from a text editor and then paste it into the rename field in the Finder.

          Since OS X / macOS can still read classic Mac HFS+ volumes, you can indeed still have carriage returns in file names on modern Macs. I don’t think you can create them on modern macOS, though. At least not in the Finder or with common Terminal commands.

        • Warl0k3@lemmy.world
          link
          fedilink
          arrow-up
          0
          ·
          edit-2
          10 days ago

          Did you not just use tab? That’s the usual method of dealing with weird characters in filenames that I’ve found

          • Hupf@feddit.org
            link
            fedilink
            arrow-up
            0
            ·
            10 days ago

            Too bad when there’s multiple files starting with and consisting mostly of e.g. kanji (when on a Latin keyboard).

      • CanadaPlus@lemmy.sdf.org
        link
        fedilink
        arrow-up
        1
        ·
        10 days ago

        So … is allowed, or all whitespace, or Zalgo text.

        I mean, on the one hand, I guess why be restrictive, but on the other I feel like requiring something that looks like language somehow might be a good idea to avoid edge cases and attacks.

        • Hupf@feddit.org
          link
          fedilink
          arrow-up
          2
          ·
          10 days ago

          could you have .​.? I assume most terminals would just spell out .\x200b.?

          • CanadaPlus@lemmy.sdf.org
            link
            fedilink
            arrow-up
            1
            ·
            edit-2
            9 days ago

            Or use a hair space so it looks almost the same. Or … but you’ve added the right-to-left unicode character. I’m guessing there’s something that looks a lot like a period, too.

            If ext4 doesn’t include restrictions terminals probably should.

        • unalivejoy@lemmy.zip
          link
          fedilink
          English
          arrow-up
          2
          ·
          10 days ago

          You can have new lines in your file names. YSAP has a good video/playlist about how to deal with these and many more.

    • Gyroplast@pawb.social
      link
      fedilink
      English
      arrow-up
      8
      ·
      10 days ago

      In filenames? AMATEURS! Use obscure Unicode in your passphrases for maximum security. Ctrl-Shift-U, enter arbitrary code point, bam! 🦊 Works even better with a Compose key and a nice, chonky .XCompose file to throw some gr∑∑k letters around, for instance, like some confused script kiddie. :)

      On topic: There are multiple variants of spaces in Unicode. You’re welcome, and now go and create something utterly deranged with that information.

    • nialv7@lemmy.world
      link
      fedilink
      arrow-up
      4
      ·
      10 days ago

      unix filenames are just string of bytes, the operating system does not interpret it in anyway. this is a much saner approach compared to Windows where language settings can change file system behavior.

      • who@feddit.org
        link
        fedilink
        English
        arrow-up
        1
        ·
        10 days ago

        the operating system does not interpret it in anyway.

        *in any_way. ;)

    • bigfondue@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      edit-2
      10 days ago

      You can, but I downloaded some music the other day and I was trying to put the files onto my phone using KDE Connect, and I couldn’t understand why is wasn’t working until I got rid of the star emoji in the filenames. So I think Graphene/Android might still struggle with it.

    • 9point6@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      10 days ago

      It’s all just Unicode

      You can have emoji as your WiFi network name too

      Kinda interesting to see what older devices do when faced with such a network

  • cally [he/they]@pawb.social
    link
    fedilink
    English
    arrow-up
    16
    ·
    9 days ago

    not sure why the default behavior is this:

    file\ name\ with\ a\ bunch\ of\ spaces

    instead of this:

    "file name with a bunch of spaces"

    but you can just press " before pressing tab to auto-complete, and it will use the 2nd form

  • katy ✨@piefed.blahaj.zone
    link
    fedilink
    English
    arrow-up
    8
    ·
    10 days ago

    the struggle between spaces in filenames look cute and oh fuck what’s the code to reference a space in a filename in terminal?

  • lengau@midwest.social
    link
    fedilink
    arrow-up
    8
    ·
    9 days ago

    I very intentionally have all my code in Personal Projects 🥰 and Work Projects 🏦 directories so I can find bugs in the handling of file paths.

  • notarobot@lemmy.zip
    link
    fedilink
    arrow-up
    8
    ·
    edit-2
    10 days ago

    Don’t try svelte kit. This is pseudocode but it’s valid. The only symbol show here that is not real is the / that I’ve placed at the end of folder to show that they are folders. There are other special cases

    routes/
    +page.ts
    (admin)/
      +page.ts
      [user=uuid]/
        [[community]]/
          +page.ts
        posts/
          [...postIds@]/
            +page.ts
    
      • notarobot@lemmy.zip
        link
        fedilink
        arrow-up
        2
        ·
        9 days ago

        Im trying it out yet. It seems fun, the tutorial is amazing. I don’t think I’d want to do large enterprise projects with it

        • dogs0n@sh.itjust.works
          link
          fedilink
          arrow-up
          2
          ·
          9 days ago

          Have you noticed issues that you think would arrise at scale, etc for an enterprise project?

          I’m using it for a small/medium sized project and it’s great and has not got in the way once. Wondering how you feel, since I don’t have experience with much enterprise code.

          • notarobot@lemmy.zip
            link
            fedilink
            arrow-up
            1
            ·
            9 days ago

            Oh. No. You win. Mine is a gut feeling that modeling all routes with folders would become a paid. To navigate and manage, while you have actual experience

  • jbk@discuss.tchncs.de
    link
    fedilink
    arrow-up
    9
    arrow-down
    2
    ·
    10 days ago

    smells like skill issue tbh

    tools which cant handle being installed/run on directories with spaces are so annoying

      • ulterno@programming.dev
        link
        fedilink
        English
        arrow-up
        1
        ·
        edit-2
        10 days ago

        I vaguely remember zsh in Manjaro (by default) having a tab completion that automatically added the slashes.
        Never set it up myself though.

        But I really hate having to worry about quoting my file variables in scripts.
        So much, that after a certain complexity, I just give up the script and make the thing in C++.


        Oh, and if I make a script that doesn’t handle file names properly (because it’s not required in that specific use case), I make sure to delete it after use, to prevent mistaken use later, which would otherwise cause more headache than just having to rewrite a script.

    • rumba@lemmy.zip
      link
      fedilink
      English
      arrow-up
      5
      ·
      9 days ago

      agreed, “still worth it”

      I do, however, tend to keep spaces out of my folder names so i can just use quotes at the end.

      /Images/Halloween/Projections/“Creepy Crawlies.mp4”

    • Dr. Moose@lemmy.world
      link
      fedilink
      English
      arrow-up
      4
      ·
      10 days ago

      Hyphens > underscores for filenames because all web standards prefer hyphens so if you ever want to network your files its a much smoother experience!

  • bob_lemon@feddit.org
    link
    fedilink
    arrow-up
    2
    ·
    edit-2
    9 days ago

    My work has me working with Matlab Simulink paths, which may (and sometimes actually do) contain newlines.