Разделение с использованием символа новой строки в подстановках команд bash

Использовать параметры uid и gid для монтирования:

mount -t vboxsf -o gid=33,uid=33 vmshare-windows /mnt/vmshare-windows
0
12.09.2019, 20:54
1 ответ

Is there any way to split the output only by newline?

Да, установите IFSтолько на новую строку (по умолчанию содержит пробел, табуляцию и новую строку):

IFS=$'\n'
vi $(ls | head -n 2)

($''нестандартен, но работает в Bash/ksh/zsh и намного красивее, чем альтернативы.)


Тем не менее, у вас все еще есть проблема, заключающаяся в том, что имена файлов могут содержать символы подстановки. Чтобы отключить подстановку, вам нужно сначала использовать set -fset +fпосле, чтобы повторно -включить ее ). А также,если ваши имена файлов содержат символы новой строки, это не сработает, но я полагаю, вы это знали.

2
28.01.2020, 02:29

Теги

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