Если у Вас есть доступ к окна 7 дисков/ISO, можно использовать это для переустановки загрузчика окон. Во время установки Дуги я предполагаю, что можно установить GRUB.
По умолчанию глобусы не работают в сценарии BASH (хотя вы можете включить их с помощью shopt
]). Если сценарий оболочки когда-либо запускается интерпретатором, отличным от BASH, глобусы могут вообще не работать.
Вы можете получить тот же эффект, используя команду find
, как я бы рекомендовал это сделать (из-за того, насколько больше контроля вы можете получить, когда ваши требования возрастут).
Примерьте это на размер:
найти. -mindepth 1 -maxdepth 1 -not -iname "*.sh "-exec rm -rf {} \;
Другой подход, который вы могли бы использовать:
Если вы делаете что-то, что нужно очистить впоследствии, есть большая вероятность, что Makefile является правильный инструмент для работы, а не набор clean.sh, build.sh, install.sh и т. д.
Это особенно верно, если вы хотите, чтобы ваши рецепты всегда выполнялись по порядку, или если вы этого не сделаете. Я всегда хочу повторно запускать рецепты, которые производят вывод.
Простой файл Makefile, выполняющий то же самое, будет выглядеть так:
(обратите внимание, что пробел перед rm
должен быть вкладкой, потому что именно так можно делать броски)
SOURCES := $(wildcard *.sh)
CLEAN_FILES := $(filter-out $(SOURCES),$(wildcard *))
CLEAN_FILES := $(filter-out Makefile,$(CLEAN_FILES))
build: $(SOURCES)
YOUR_RECIPE_HERE
clean:
rm -rf $(CLEAN_FILES)
В bash некоторые шаблоны не включены по умолчанию, но их можно включить, установив параметр с помощью shopt
. Шаблоны ! (НЕ ЭТО)
, @ (ЭТО | ТО)
, * (НУЛЬ-ИЛИ-БОЛЬШЕ)
, + (ОДИН- ИЛИ-БОЛЬШЕ)
и ? (НЕОБЯЗАТЕЛЬНО)
, которых не было в ранних оболочках Unix, позже были добавлены в ksh и не стандартизированы POSIX, не распознаются по умолчанию, вы сначала нужно запустить shopt -s extglob
.
Вы можете использовать эти шаблоны в командной строке; это означает, что у вас есть shopt -s extglob
в вашем .bashrc
. Этот файл читается только интерактивными оболочками, а не скриптами.
(Если переменная среды BASH_ENV
установлена, когда bash запускает скрипт, то bash читает указанный им файл, но я не рекомендую полагаться на это, потому что это заставит ваш скрипт работать только когда BASH_ENV
установлен на ожидаемое значение, и только если вы не меняете файл, на который он указывает.)
Просто включите shopt -s extglob
вверху вашего скрипта под строкой #! / bin / bash
.