macos – Easy shell instructions by no means end, however solely on exterior drive


More often than not, my Mac’s Terminal works nice. Nevertheless, once I use it to navigate the file system of my WD My Passport 1TB exterior drive, it… virtually works. Nearly. Easy instructions like cd and ls work usually besides that they do not seem to complete — they depart the Terminal ready on the final line of the ls outcomes, moderately than presenting the immediate. Successfully, I’ve to ^C after each single command (and I higher hope it was truly completed once I do this).

  • It is a 2020 Intel Macbook Professional, 13″ show, operating Sonoma 14.4.1. The shell is zsh.
  • I have not tried ready greater than a minute or so, on the belief that it actually should not take that lengthy for an ls.
  • It is solely the WD 1TB drive that does it. Searching recordsdata works usually* on my little SanDisk thumb drive and the Seagate exterior drive that I take advantage of for Time Machine. (* The Time Machine drive will not run ls, however that seems to be a Time Machine factor, and the “operation not permitted” error exhibits up promptly earlier than going again to the traditional immediate.)
  • Some instructions work usually — tar -xzvf on a 53GB tarball simply completed and exited to the immediate. man tar didn’t, nor did much less or a easy sed.

Why is that this occurring? Why is it solely the one drive that does it?

edit: Extra data as requested in feedback.

  • The issue drive is formatted ExFAT. The thumb drive is FAT32, the Time Machine drive is Mac OS Prolonged (Journaled), and the laptop computer’s built-in SSD is APFS.
  • The issue disappears once I use a easy immediate (PS1="$ "). The issue immediate is "(base) [%T] %n @ %1~$(git_prompt_info) »", the place git_prompt_info is a perform outlined in ~/.oh-my-zsh/lib/git.zsh :
# Outputs present department information in immediate format
perform git_prompt_info() {
  native ref
  if [[ "$(command git config --get oh-my-zsh.hide-status 2>/dev/null)" != "1" ]]; then
    ref=$(command git symbolic-ref HEAD 2> /dev/null) || 
    ref=$(command git rev-parse --short HEAD 2> /dev/null) || return 0
    echo "$ZSH_THEME_GIT_PROMPT_PREFIX${ref#refs/heads/}$(parse_git_dirty)$ZSH_THEME_GIT_PROMPT_SUFFIX"
  fi
}

Any thought why that may trigger issues solely on the one drive — or, failing that, a method to make use of a special immediate solely when that perform hangs up? (I do like having the department in my immediate and would love to provide that perform some method to deal with no matter error is going on right here.)

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles