Сортировка файлов в unix

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

#!/bin/bash
./script2.sh &
.script1.sh

Чтобы зафиксировать конец фонового процесса, вам нужно сохранить PID первого. Для этого переведите процесс сценария в фоновый режим и сохраните $! в локальную переменную.

Если вы хотите также остановить фоновый процесс, когда вы завершаете сценарий переднего плана, вы можете использовать функцию Bash trap .Передайте функцию или блок кода, который вы хотите выполнить, и сигналы, которые вы хотите записать.

#!/bin/bash
./script2.sh &
SCRIPT_2_PID=$!
trap "kill $SCRIPT_2_PID; exit" SIGHUP SIGINT SIGTERM
./script1.sh

Обратите внимание, что функция trap заменяет типичный ответ на предоставленные сигналы, поэтому, если вы хотите, чтобы сценарий завершился по CTRL + C , вам необходимо включить ] выход .

0
31.01.2019, 16:59
1 ответ

Использование языкового стандарта en _US.UTF -8 привело к тому, что при сортировке «010» отображалось перед «01». Здесь работает локаль Cдля сортировки:

$ LC_ALL=C ls -1
ar01440_1775_17_vc00_00.png
ar01440_1775_17_vc00_01.png
ar01440_1775_17_vc00_010.png
ar01440_1775_17_vc00_011.png
ar01440_1775_17_vc00_012.png
ar01440_1775_17_vc00_013.png
ar01440_1775_17_vc00_014.png
ar01440_1775_17_vc00_015.png
ar01440_1775_17_vc00_016.png
ar01440_1775_17_vc00_017.png
ar01440_1775_17_vc00_018.png
ar01440_1775_17_vc00_019.png
ar01440_1775_17_vc00_02.png
ar01440_1775_17_vc00_03.png
ar01440_1775_17_vc00_04.png
ar01440_1775_17_vc00_05.png
ar01440_1775_17_vc00_06.png
ar01440_1775_17_vc00_07.png
ar01440_1775_17_vc00_08.png
ar01440_1775_17_vc00_09.png

Здесь объясняется локаль C:Что делает «LC _ALL=C»?

2
28.01.2020, 02:30

Теги

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