Я новичок в сценариях оболочки. Я написал этот следующий сценарий для 2 различных входных файлов:Нужна помощь для скрипта оболочки TAR
#!/bin/sh
last=`ls [JKT-ABC]*.tar | sed s/.tar//g | sort -g | tail -1`
if(($last%1==0))
then
tar -cf `date '+%W%b%d'`.tar [JKT-ABC]*.tar
fi
last=`ls [JKT-DEF]*.tar | sed s/.tar//g | sort -g | tail -1`
if(($last%1==0))
then
tar -cf `date '+%W%b%d'`.tar [JKT-DEF]*.tar
fi
После выполнения этого сценария, вывод один .tar
файла с именем: xxSep28
. Итак, 2 входа .tar
файлов стали одним TAR (xxSep28
). Это не то, что я хочу.
Мой вопрос:
- Как выход/использовать полное имя файла
tar
в сценарии? (например:xx.Sep28.JKT-ABC
) - Почему два выходных файла объединены в один из этих сценариев? Как я могу держать их отдельно?
В чем проблема вы пытаетесь решить? Я имею в виду, что вы хотите, чтобы ваш скрипт делал? – 5gon12eder
Я хочу, чтобы выходные файлы tar были такими же, как этот xx.Sep28.JKT-ABC, и упаковывали tar-файлы в 2 файла (потому что в этом скрипте я ввожу 2 разных файла и после запуска файлы всегда объединяются). – Pane
Я боюсь, что до сих пор не понимаю. Код, который вы показываете, не принимает никаких данных и выполняет одну и ту же задачу дважды (возможно, снова перезаписав только что созданный файл tar). То есть, если if-statement был действительным. Не могли бы вы привести пример с «directory before», «script script» и «directory after»? – 5gon12eder