Это не awk
, это то, как оболочка расширяет вещи.
Возьмем пример:
$ a="1
> 2
> 3
> 4"
Итак, мы создали переменную на 4 строки. Но ...
$ echo $a
1 2 3 4
Так почему это только в одной строке?
$ echo "$a"
1
2
3
4
Ах, это не так!
Итак, есть что-то магическое вокруг echo $ a
.
Мы можем увидеть похожую магию с пробелами:
$ a="1 2 3 4"
$ echo $a
1 2 3 4
$ echo "$a"
1 2 3 4
На самом деле это не echo
, которое творит здесь магию; это оболочка. Без оболочки "..."
оболочка попытается расширить переменную. Таким образом, глобусы будут расширены:
$ ls
a file
$ a="*"
$ echo $a
a file
$ echo "$a"
*
Таким же образом оболочка принимает ваш вывод с возвратами в них, расширяет их, а затем возвращает в качестве параметров; возврат теряется.
Подводя итог ... если вы хотите защитить от подобного расширения, используйте "..."
.
Однако в вашем коротком примере вам вообще не требуется echo
. Просто позвоните напрямую awk
.
Это означает, что ваше корневое хранилище заполнено, проверьте df -h
.
Этот метод может помочь вам удалить устаревшие образы Docker с помощью приведенной ниже команды:
docker rmi $(docker images --filter "dangling=true" -q --no-trunc)
Или с помощью:
docker image prune