Вопрос в сценарии bash

$ echo -n 'difference in file2 is for line number ';diff --unchanged-line-format="" --old-line-format="" --new-line-format="%dn " <(tail +2 file1|unexpand -a|cut -f2-) <(tail +2 file2|unexpand -a|cut -f2-)|grep -o "[0-9]*" | while read i;do echo $((i+1));done|paste -sd,
difference in file2 is for line number 3,4
1
21.08.2018, 01:47
1 ответ

Цитируйте переменные, иначе пробелы приведут к тому, что они будут разбить на отдельные аргументы.

printf -v serverinfo "Hostname:\t%s\nCPU:\t%s\nDisk:\t%s\nSystem:\t%s\n" "$hostn" "$cpu" "$disk" "$system"

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

2
27.01.2020, 23:34

Теги

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