/ / Как може да манипулирам дата в машина AIX с помощта на bash скрипт? - Баш, Ейс

Как може да манипулирам датата в машина AIX с помощта на bash скрипт? - Баш, Ейс

Скриптът ми има една команда: дата -d -30 дни , Скриптът, когато се изпълнява на машина с Linux, работи катоочакван . Въпреки това, когато се изпълнява на машина AIX, дава грешка "незаконна опция - d". И така, кой кодекс / команда трябва да бъде написана, която ще бъде универсална, независимо от основната операционна система, на която се изпълнява скрипта. Трябва основно да извадя 30 дни от текущата дата и да използвам манипулираната дата.

Отговори:

0 за отговор № 1

"bash scripting" означава, че наричате не-вградени комунални услуги, като date и да perl.

От командата за дата на AIX не мога направете каквото искате да направите, вие трябва да бъдат отворени към алтернативи.

past_date=$(
perl -MTime::Local -MPOSIX=strftime -le "
$now = timelocal(0,0,12,(localtime)[3,4,5]);
$ago = $now - 30 * 86400;
print strftime("%Y-%m-%d %T %Z",localtime($ago))
"
)

Регулирайте своя формат strftime, така че да отговаря на вашите нужди.

Предполагам, че вашето разпределение на Perl не е актуално. Бих направил това вместо това:

perl -MDateTime -E "say DateTime->now->set_time_zone("local")->add(days=>-30)->strftime("%F %T %Z")"