Отображает список календаря на 2000 год - PullRequest
0 голосов
/ 24 апреля 2020

Я пытаюсь отобразить текущие годы и календарь 2000-х годов, но я запускаю скрипт, он один отображает календарь 2000-х годов. Я хочу, чтобы оба были отображены. нужна помощь

clear
#!/bin/bash
echo This is the current year.
Year="date '+%Y'"
$Year
echo This is the time:
date "+%r"
Date='cal 2000'
echo  This is the calendar list for the year 2000
$Date

1 Ответ

1 голос
/ 24 апреля 2020

Первоначальный ответ

Шебанг должен быть первой строкой, чтобы быть полезной; в противном случае это просто странный комментарий.

Вы должны просто запустить cal (с выводом на терминал - стандартный вывод), а не записывать вывод команды в переменную, которую вы затем пытаетесь выполнить.

Ваш скрипт содержит строки:

Date='cal 2000'
echo  This is the calendar list for the year 2000
$Date

Последняя строка пытается выполнить программу 2000 с 462 аргументами. Чтобы сделать эту работу неопределенно разумной, вам понадобится:

Date='cal 2000'
echo "This is the calendar list for the year 2000"
echo "$Date"

Двойные кавычки имеют решающее значение для получения хорошо отформатированного вывода для значения в $date. См. Также Захват многострочного вывода в Bash переменную .

Это должно сделать работу, как я понимаю:

#!/bin/bash
clear
echo "This is the current year."
Year="$(date '+%Y')"
cal $Year
echo "This is the time:"
date '+%r'
echo "This is the calendar for the year 2000"
cal 2000

Из комментариев

Мне не нужен календарь на 2020 год. Все, что мне нужно, - это число из четырех чисел git 2020 года, но мне все еще нужен календарь на 2000 год.

Ой! Ну, это требует некоторых тривиальных изменений в приведенном выше коде:

#!/bin/bash
clear
echo "This is the current year: $(date '+%Y')"
echo "This is the time: $(date '+%r')"
echo "This is the calendar for the year 2000"
cal 2000

Или, если вы хотите, чтобы значения в отдельной строке из описаний:

#!/bin/bash
clear
echo "This is the current year"
date '+%Y'
echo "This is the time"
date '+%r'
echo "This is the calendar for the year 2000"
cal 2000

Возможны бесконечные вариации по этому - выбор за вами. Почему 2000 год так важен, загадочно для постороннего, но с ним легко справиться, как показано.

...