Как я негативно рисунок в файл bash-скрипт?

если я типа rm main!(.tex|.pdf) в терминал bash, он удалит все файлы, которые начинаются с main но не в конце .tex или .pdf, очистка различных ненужных файлов, разбросанных наборами LaTeX.

следующий скрипт оболочки, однако, не делает то, что я ожидаю, когда он помещается в файл, а затем запускается

#!/bin/bash

rm main!(.tex|.pdf)

синтаксическая ошибка сообщается в ( маркер. Что это дает? Каков канонический способ сделать что-то подобное в рамках bash сценарий. Есть ли более элегантный способ сделать это, чем втащить find в отношении проблемы?

4
задан ymbirtt
06.02.2023 14:37 Количество просмотров материала 2907
Распечатать страницу

1 ответ

Если схема не работает при запуске из скрипта, убедитесь, что extglob опция также устанавливается для неинтерактивного использования.

просто поставить

#!/usr/bin/env bash
shopt -s extglob

на верхней части вашего скрипта после hashbang. Таким образом, его легко заметить. Смотрите также:Glob – Greg'S Wiki

2
отвечен slhck 2023-02-07 22:25

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх