Как использовать подстановочный знак для нескольких событий в сценарии оболочки?

Вы можете перенастроить установку пакета следующим образом:

sudo dpkg-reconfigure 389-admin

А потом запустить деинсталляцию:

sudo apt-get remove google-chrome-beta

Кроме того, вы можете просто удалить его непосредственно перед удалениемgoogle-chrome-beta:

sudo dpkg -r 389-admin
0
03.04.2020, 03:17
1 ответ

При запуске скрипта:

$./file_lister.sh./*.txt

Оболочка расширяет ./*.txtдо ./file1.txt./file2.txt./file3.txt, поэтому после расширения вы действительно выполняете:

$./file_lister.sh./file1.txt./file2.txt./file3.txt

Ваш скрипт выводит первый аргумент:

echo $1

$1соответствует первому аргументу, переданному сценарию, который в данном случае равен ./file1.txt--. Я ожидаю увидеть это вместо file1.txt(, если только вы действительно не запустили./file_lister.sh *.txt).

Как предлагали другие в комментариях, если вы хотите напечатать все аргументы вместо первого, есть ряд вещей, которые вы можете сделать. Проще всего изменить$1(первый аргумент )на$@(все аргументы ).

#!/bin/bash
printf '%s\n' "$@"

См. этот вопрос о переполнении стека для получения дополнительной информации об обработке аргументов в скрипте.

1
28.04.2021, 23:18

Теги

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