Несвязные меры с записью перфекта

В некоторых дистрибутиве I Linux, которые я проверил (E, G, Ubuntu 14.04), упакованный Cal исходит от BSD, а не GNU Cereutils. Версия BSD, похоже, не принимает дни в качестве параметра; только месяцы и годы. Версия Ubuntu имеет a -h-yyyy-mm-dd, но это, кажется, не помогает.

Вместо этого я бы использовал дату утилиту. Предполагая, что GNU CORETILS под Linux я думаю, что я бы переписал свой скрипт что-то вроде:

#!/bin/bash

day=$((10#$1))
month=$((10#$2))
year=$((10#$3))

if date -d $year-$month-$day > /dev/null 2>&1; then
    # cal $month $year
    echo "This is a valid date"
else
    echo "This is an invalid date"
fi

Примечания:

  • Я использую собственную арифметическое расширение для проверки ввода / удаления ведущих нулей вместо того, чтобы высказать New BC BC BC Процесс для каждого параметра
  • Я использую Дата GNU Дата Для анализа даты ввода
  • Команда даты может использоваться непосредственно как , если Условное выражение. Если работает путем проверки кодов выхода процесса. Обычно используются [ [ или [[[ [[[ [[[ исполняемых файлов, но нет причин, по которой другие программы могут быть использованы, если они выходят с полезными кодами выхода
  • , я не уверен, если вы На самом деле хотела CAL вывод для правильных дат или нет. Если вы сделаете, просто растресментируйте строку .

1
11.03.2015, 13:59
1 ответ

Похоже, вы используете Perf Script , который дает след Perf Record или перечислять все необработанные события от Perf Record. Попробуйте сделать Perf Report , чтобы увидеть числа вывода Perf

. См. http://www.brendangreg.com/perf.html

0
28.01.2020, 01:43

Теги

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