удалите каталог со специальным символом в имени файла

В основном, если это - вход в систему, окружают его источники /etc/profile затем .bash_profile. Если это не оболочка входа в систему, но Вы на терминале, это получает /etc/bash.bashrc затем .bashrc.

Но это на самом деле намного более сложно.

Путем я прочитал страницу справочника:

if bash_mode; then
    if login_shell; then
        if test -e /etc/profile; then source /etc/profile; fi
        if test -e .bash_profile; then source .bash_profile
        elif test -e .bash_login; then source .bash_login
        elif test -e .profile; then source .profile; fi
    elif interactive_shell || remote_shell; then
        if test -e /etc/bash.bashrc; then source /etc/bash.bashrc
        if test -e .bashrc; then source .bashrc; fi
    elif test -n "$BASH_ENV"; then
        source "$BASH_ENV"
    fi
elif sh_mode; then
    if login_shell; then
        if test -e /etc/profile; then source /etc/profile; fi
        if test -e .profile; then source .profile; fi
    elif interactive_shell; then
         if test -n "$ENV"; then
             source "$ENV"
         fi
    fi
fi

Это - оболочка входа в систему любое время, оболочка выполняется как -bash (отметьте знак "минус"), или с -l опция. Это обычно происходит, когда Вы входите в систему с помощью login команда (виртуальные консоли Linux делают это), по ssh, или если Ваш эмулятор терминала имеет "опцию" оболочки входа в систему, включила.

Это - интерактивная оболочка, любой вход стандарта времени является терминалом, или удар был запущен с -i опция. Обратите внимание, что, если оболочка является также оболочкой входа в систему, удар не проверяет, является ли оболочка интерактивной. Поэтому .bash_profile обычно содержит код к источнику .bashrc, таким образом, можно совместно использовать те же настройки между интерактивным и войти в оболочки.

2
01.02.2014, 01:42
2 ответа

Если все Ваши каталоги имеют имена, сделанные из цифр и затем специального символа (ни цифра, ни буква), Вы могли использовать

find -maxdepth 1 -type d -regex "./[0-9]*[^0-9a-zA-Z]" -exec rm -r {} \;

6
27.01.2020, 21:54

Вы не можете просто сделать этого?

rm -r 857263?
0
27.01.2020, 21:54

Теги

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