Как принудительно размонтировать раздел

La salida de grepes una cadena que contiene dos palabras separadas por espacios en blanco -.

El shell lo dividirá en dos palabras ya que no está entre comillas y, por lo tanto, la matriz tendrá dos entradas.

Esto hará lo que quieras:

a=( "$( grep -F '' test.xml )" )  

Sin embargo, analizar XML con grepes una idea horrible . Utilice un analizador XML adecuado en su lugar.

Además, el bucle, si todo lo que hace es generar una cadena, puede ser reemplazado por

printf 'checking %s\n' "${arr[@]}"

Para ver quién hizo un cambio en una línea que coincide con un patrón en una revisión particular de un archivo controladogit-(, consulte los comentarios a continuación ), use git blame -Lcon el patrón y la revisión en cuestión. Consulte git blame --helppara obtener más información.


También tenga en cuenta que para obtener el número de línea de una línea que coincida con un patrón:

sed -n '/pattern/=' file

Nunca vuelva a introducir el resultado de grepen grepsolo para obtener el número de línea. Si lo hace, asegúrese de usar grep -F, o fallará si la línea contiene patrones de expresión regular.

1
13.06.2019, 20:15
1 ответ

Нет. Это сообщение не просто так. Что-то в настоящее время использует раздел, поэтому его принудительное размонтирование может привести к повреждению данных. Итак, первое, что вы делаете, это проверяете, что использует раздел :

.
$ sudo umount mountpoint
umount: /home/pi/mountpoint: target is busy
        (In some cases useful info about processes that
         use the device is found by lsof(8) or fuser(1).)

Хорошо, давайте посмотрим, кто его использует:

$ lsof mountpoint/
COMMAND  PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
bash    9244   pi  cwd    DIR   8,17     4096    2 mountpoint

Итак, запущен процесс bash с PID 9244, владельцем которого является пользователь piи который в настоящее время обращается к точке монтирования. В этом случае я просто открыл терминал и cdперешел в mountpoint.

Все, что вам нужно сделать, это остановить этот процесс. Если ты знаешь, что это такое, просто останови это. Если у вас нет (и он принадлежит вам ), вы можете killего:

$ kill 9244
$ sudo umount mountpoint
$ 

И вот, сработало!

3
27.01.2020, 23:22

Теги

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