Конечно, есть другие способы сделать это, но если вы ищете чистое решение Bash, которое не полагается на любых утилитах, кроме самой оболочки, будет работать следующее.
dir="The Dark Tower"
declare -i count=1
for file in "$dir"/*.mov; do
mv "$file" "${dir}/${dir} ${count}.mov"
count+=1
done
Это похоже на интеграцию оболочки iTerm2. См. http://www.iterm2.com/documentation-shell-integration.html .
Убедитесь, что .iterm2_shell_integration.bash исходит от .bash_profile.
Это действительно интеграция с iTerm2. Вместо того, чтобы удалять его, просто сделайте то, что авторы iTerm2 должны были сделать внутри своего скрипта интеграции.
Я подключался по ssh через linux и подтверждаю, что исходное решение оказалось недостаточным. I
Существует последовательность ANSI, на которую будет реагировать iterm, которая работает независимо от того, какая оболочка/ssh активна. Для тех, кто хочет создать свою собственную последовательность: printf '\x1b[1337n'
. Я не знаю, почему сценарий интеграции с оболочкой iterm сам не выполняет этот запрос и не освобождается, если он не размещен в iterm.
В вашем .bashrc (или любой другой оболочке, которую вы используете) должно быть что-то вроде:
test -r ~/.iterm2_shell_integration.bash && . ~/.iterm2_shell_integration.bash
Возможно, без начального теста. Просто измените его на еще более уродливый:
isiterm2.sh && test -r ~/.iterm2_shell_integration.bash && . ~/.iterm2_shell_integration.bash
Исходный скрипт isiterm2.sh (написанный автором iTerm2 gnachman, можно найти здесь на github. Ссылка в приведенном выше блоке кавычек является модификацией исходного скрипта со следующими небольшими изменениями:
Это мой первоначальный неполный ответ
[[ $TERM_PROGRAM == "iTerm.app" ]] && test -r ~/.iterm2_shell_integration.bash && . ~/.iterm2_shell_integration.bash
TERM_PROGRAM устанавливается как OS X Terminal, так и iTerm2.
Это происходит из-за нестандартных управляющих кодов -Iterm2s:Собственные управляющие коды , которые были опубликованы здесь:Интеграция с оболочкой отображает недопустимые символы на терминалах Linux . Чтобы решить эту проблему, выполните эти команды на удаленном сервере, на котором установлена интеграция с iTerm2 :
.curl https://raw.githubusercontent.com/gnachman/iTerm2/master/tests/isiterm2.sh > ~/.isiterm2.sh && chmod ug+x ~/.isiterm2.sh
Измените ваш.bash_profile
(или .profile
или любой другой ), чтобы обеспечить успешную загрузку интеграции оболочки в этот скрипт:
~/.isiterm2.sh && test -e "$HOME/.iterm2_shell_integration.bash" && source "$HOME/.iterm2_shell_integration.bash"