Использование переименования для переименования файлов и каталогов

Предполагая, что вы используете оболочку BASH на удаленном компьютере, наиболее вероятной причиной является неправильная настройка PS1 . Чтобы узнать, какой у вас PS1 в данный момент, просто введите echo $ PS1 в терминал. На самом деле это может быть .f> , и в этом случае у вас есть причина. Если это что-то еще, не беспокойтесь, потому что это можно изменить, просто экспортировав переменную PS1 :
export PS1 = " prompt "
где подсказка - желаемая подсказка.

Вы сказали, что обычно видите что-то вроде machinename> , вы можете сделать это, изменив значение PS1 на \ h> , что отобразит ваше имя хоста, за которым следует > . Есть много других escape-символов, которые вы можете использовать для создания более функционального приглашения, но это должно решить вашу проблему. Чтобы сохранить это приглашение, добавьте строку export PS1 = "\ h>" в ваш .bashrc .

Для получения дополнительной информации о PS1 посетите следующие сайты:
http://www.cyberciti.biz/tips/howto-linux-unix-bash-shell-setup-prompt. html
http://www.thegeekstuff.com/2008/09/bash-shell-ps1-10-examples-to-make-your-linux-prompt-like-angelina-jolie/

3
24.05.2017, 01:30
1 ответ

Я бы поступил иначе, а именно, используя поиск в глубину вместо globstar **

Например, используя GNU find, учитывая:

$ tree
.
└── dir
    ├── foo
    │   └── baz
    │       └── MainFoo.c
    └── Foo
        ├── baz
        └── MainFoo.c

5 directories, 2 files

, тогда

find . -depth -iname '*foo*' -execdir rename -- 's/Foo/Bar/;s/foo/bar/' {} +

приводит к

$ tree
.
└── dir
    ├── bar
    │   └── baz
    │       └── MainBar.c
    └── Bar
        ├── baz
        └── MainBar.c

5 directories, 2 files
7
27.01.2020, 21:12

Теги

Похожие вопросы