При написании сценария Bash, как мне создать, а затем открыть файл с датой в качестве части имени?
Я хочу использовать скрипт, чтобы открыть список URL-адресов, затем создать пустой текстовый файл с именем "[сегодняшняя дата].homework" и затем открыть этот текстовый файл в Vim.
Вот сценарий, который я сейчас имею:
#!/bin/bash
## Open firefox to the websites containing each classes' homework assignments.
firefox -new-window -url https://www.firsturl.com -new-tab -url https://www.secondurl.com -new-tab -url http://www.thirdurl.com -new-tab -url https://www.fourthurl.com -new-tab -url https://www.fifthurl.com
## Set up today's date as prefix for the filename.
today=`date '+%Y_%m_%d'`;
filename="~/homework/today.homework"
## Open the created file in Vim.
vim ~/homework/today.homework
Цель этого сценария - открыть все места, в которых содержатся мои домашние задания, а затем открыть файл с отметкой даты, чтобы я мог вручную вводить назначения дня. Я хочу набирать назначения вручную, а не использовать curl или же wget потому что мне нужно запомнить задания и набирать их вручную - лучший способ сделать это. Кроме того, я использую Linux только в течение 6 недель, и я думаю, что автоматизация процесса компиляции с помощью этих инструментов - немного из моей глубины.
Кроме того, есть ли способ его автоматического запуска при каждом входе в систему каждый день?
1 ответ
Ваша линия для today= должен выглядеть так:
today=$(date +%Y_%m_%d)
поскольку today переменная, она будет обозначена $ привести слово как это:
echo $today
который дал бы 2016_02_23 в качестве выхода. Итак, строки после использования этого today переменная будет выглядеть так:
filename="~/homework/${today}.homework"
а также
vim "~/homework/${today}.homework"
или так как вы дали filename в качестве переменной вы можете сделать это:
vim "$filename"
Или, если вы хотите по-настоящему проявить изобретательность, вместо того, чтобы сначала назначать переменную, вы можете просто выполнить саму команду в имени файла, когда вы открываете ее в одну строку:
vim "~/homework/$(date +%Y_%m_%d).homework"
Надеюсь это поможет!