Расширение bash с помощью команды linux

Ваши входные файлы, вероятно, имеют окончания строки CR-NL, поэтому $ res1 возвращает курсор в начало строки, а затем $ res2 перезаписывает его. Запустите свои файлы через dos2unix , чтобы исправить это.

1
15.02.2019, 19:17
1 ответ

Если ваш второй позиционный параметр 4, вы можете передать его так:

lvresize -r -L "$2G" "$opt"

Однако я бы рекомендовал использовать фигурные скобки только для чистоты

lvresize -r -L "${2}G" "$opt"

Неясно, как устанавливается opt, но я предполагаю, что вы об этом позаботились.


Когда вы пишете $($2), вы выполняете подстановку команд , поэтому он пытается выполнить команду с именем 4, которая, вероятно, не существует.


Фигурные скобки обычно требуются для других типов параметров в этой ситуации, поскольку они предотвращают рассмотрение любого замыкающего смежного текста как части имени переменной.

Например:

$ var=good
$ varg=bad
$ echo "$varg"
bad
$ echo "${var}g"
goodg
4
27.01.2020, 23:18

Теги

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