Shell Script для переименования текущего рабочего каталога с заданным именем

Если текущий каталог DIR/ а новое имя project1/ передается через аргумент, имя текущего каталога должно быть заменено на project1 .

3 Solutions collect form web for “Shell Script для переименования текущего рабочего каталога с заданным именем”

Если вы переименуете текущий рабочий каталог, большинство оболочек не заметят изменения (в переменной $PWD или их приглашении для примера), поэтому было бы лучше использовать функцию вместо скрипта, чтобы вы могли уведомить оболочку изменения после того, как вы это сделали, например:

 rename_cwd() { cd . || return new_dir=${PWD%/*}/$1 mv -- "$PWD" "$new_dir" && cd -- "$new_dir" } 

Это предполагает, что текущий каталог не является / и что целевой каталог еще не существует (см. -T с GNU mv чтобы улучшить ситуацию в этом случае).

Обратите внимание, что при некоторых обстоятельствах $PWD может быть несовместим с реальностью, поэтому приведенный выше код может привести к изменению текущего рабочего каталога. cd . чтобы уменьшить вероятность этого в некоторых оболочках.

Я получил его под кодом ниже

 mv -T "$PWD" "../$1" 

Аргумент прошел как

 ./rename_pwd.sh dir1 

затем

 cd .. ls 

Это показывает

 dir1 

Я написал это давно. Это дрянной маленький скрипт, но он переименует материал для вас.

  • Вывод каждого столбца N из ввода
  • Как сделать $ @ начать одну итерацию вперед
  • Добавление 2 строк в строфу текстового файла
  • Сортировка файлов по наивысшему числу в имени файла
  • Xdotool с использованием «DISPLAY =: 0» не работает в Crontab
  • Как разобрать таблицу для шаблона, если шаблон содержит пробелы
  • Возможно ли создать липкое перенаправление из stdout / stderr
  • Сценарий, использующий fifos, не генерирующий выход при обработке из stdin
  • Shell-скрипты для разделения чисел внутри файла
  • Как вернуть 0, если шаблон сопоставлен с файлом?
  • Сжатие нескольких файлов в разных папках без структуры папок
  • Linux и Unix - лучшая ОС в мире.