• Tiberius@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    4
    ·
    7 天前

    I accidentally found out one day that I could use a wildcard operator in the terminal instead of a full file or folder name due to always doing this.

    cd Pho* or cd /documents/Pho*

    Will for example open my “Photo Examples” folder in the working directory or based on the path

    • merc@sh.itjust.works
      link
      fedilink
      arrow-up
      6
      ·
      7 天前

      With ZSH there’s something called “path-completion” that makes that even easier.

      Say you want to go to “/usr/local/share/fonts” but that’s too much to type out, you can instead type “cd /u/l/s/f” and hit tab. If every path element is unambiguous it will just expand it to “/usr/local/share/fonts”. In this case though, “/u/l/” can expand to “/usr/local” or “/usr/lib” so when you hit tab it moves the cursor to just after the “l” to indicate it needs you to distinguish between “/usr/local/” and “/usr/lib”. If you just type “o” and hit tab again, it will know that there’s only one match for “/usr/lo” and expand that to “/usr/local/” Then there’s only one match for “s” which is “share”, and only one match for “f” which is “fonts”.

      That avoids the danger of executing a command with an asterisk wildcard.

    • JasonDJ@lemmy.zip
      link
      fedilink
      arrow-up
      4
      ·
      7 天前

      You can use || between two commands as well. If the first command returns exit code != 0, the second command will run.

      I.e. which ansible || pip install ansible.

    • TheOakTree@lemmy.zip
      link
      fedilink
      arrow-up
      3
      ·
      edit-2
      7 天前

      This only works until you grow an addiction to making pho at home and start documenting your progress.

      cd “Pho Recipes and Pictures”