Объясните, пожалуйста, поведение этих расширений параметров с помощью IFS?

Ближе всего к официальной документации по пространствам имен справочная страница namespaces(7)и связанные с ней страницы. Они поддерживаются разработчиками ядра.

Лучшим введением в использование контейнерами пространств имен, которое я знаю, является презентация Мэтта Тернера «Istio — точка зрения пакета» (, которая также существует в виде более продолжительного семинара ).

Серия статей LWN о пространствах имен также является хорошим введением (и не только ).

1
18.11.2021, 20:03
1 ответ

Это объясняет, что происходит:

#!/bin/bash

IFS='-'

var='a-b-c.pdf'
echo $var
echo "$var"

Ваш echo ${*%.pdf}.pdfдействительно создает нужную строку, но из-за отсутствующих кавычек разбиение слов действует на -.

Или это:

[[ ${*%.pdf}.pdf =~ ' ' ]]
+ [[ a-b-c.pdf =~   ]]
echo $?
+ echo 1
1

В [[ ]]нет разделения слов, а set -vx/ bash -vxпоказывает, что расширение не содержит пробелов.

2
18.11.2021, 20:17

Теги

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