[112413]Bash's [112841][[[112842]] не поддерживает [112843]-a[112844]. Один из подходов заключается в использовании [112845][[112846] и в противном случае сохранить все как есть:
Многие предпочитают [112865][[[[112866]], а не [112867][[112868], потому что двойные кавычки вокруг переменных являются ненужными.
Но здесь, если вы собираетесь использовать специфический синтаксис ksh/bash/zsh, для арифметического сравнения, вы можете также написать:
Я закончил генерировать .gitsha
для репо в корневой папке и переписывая его, если оно устарело. Это дает мне то, что я хочу .. За счет взрывающейся одной линейки кода до 20 ..
new_sha=$(git rev-parse HEAD)
if [ -f ../.gitsha ]
then
old_sha=$(cat ../.gitsha)
if [ $old_sha = $new_sha ]
then
generate=false
echo "gitsha file up to date"
else
generate=true
echo "gitsha file out of date"
fi
else
echo "git sha file missing"
generate=true
fi
if [ $generate = true ]
then
echo $new_sha > ../.gitsha
fi
вместо Git Rev-Parse Head> .gitsha
Команда Zip добавляется к выводу Zip-файл. Попробуйте удалить его между Runs.
Обновление: я проверял -x для себя, и кажется, что он все еще вставляет файл Timestamp в файле (как видно в unzip -l
)
Если вы взглянуте на Протокол в Википедии Вы можете видеть, что поля и поля времени всегда присутствуют, а затем в конце заголовка у них есть место для полей, специфичных ОС. Я бы сказал, что -x оставит эти конкретные ОС дополнительные поля.
Итак, я думаю, что единственный способ получить последовательный ZIP-файл - иметь постоянные метки времени. Вы можете попробовать коснуться файла до определенной даты, прежде чем добавлять его в ZIP-файл.
Предполагая, что у вас есть разрешения (или вы можете убедить SysAdmin), я предлагаю изучить tmux , который является терминальным мультиплексором. Tmux позволяет делать все, о чем вы говорите и многое другое. Вы можете управлять всеми окнами и просто отсоединять сеанс по завершении. Захват, если вы остановились, так же прост, как и повторное подключение к отсоединенному сеансу ( одна из многих направляющих ). Мой текущий сеанс tmux управляет более чем 30 + 'вкладок' прямо сейчас, так что я всегда могу приостановить свою работу в конце дня и быстро забрать снова, где я оставил на следующий день.
Вы даже можете вложить свои вкладки в те же окна! Пример управления окном:
-121--139730- Общий подход состоит в том, чтобы считывать имена файлов из архива (если они не всегда одинаковы), а затем tar
извлекать только один файл одновременно. GNU tar
имеет опцию -to-stdout
, которая запрещает запись файла. Без этого потребуется FIFO для каждого имени файла.
> tar -tf subdir.tar.gz
R1.fastq
R1.fastq
tar -xf subdir.tar.gz --to-stdout R1.fastq | gzip -n9 >/path/to/R1.fastq.gz
tar -xf subdir.tar.gz --to-stdout R2.fastq | gzip -n9 >/path/to/R2.fastq.gz
-121--244440- Проверьте выходные данные команды последовательностей
в файлах застежки -молнии:
$ strings test.zip blah.zip
.gitshab9e1355d36643fefe94da0bee81533cd8cbb04d9
.gitshaPK
QH;F
.gitshab9e1355d36643fefe94da0bee81533cd8cbb04d9
QH;F
.gitshaPK
Содержимое трёх рядов остается прежним, но порядок меняется. Таким образом, может существовать какой-то компонент застежки -молнии, который не зависит точно от порядка. Я буду обновлять, когда смогу определить, как сделать вывод постоянным.