gpt4 book ai didi

linux - 在系统启动时启动的文件中的日期函数 - bash

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:09:23 25 4
gpt4 key购买 nike

我正在尝试在启动时运行 bash 脚本。该脚本的目的是在设定的时间(比如每小时 15 点)用音乐播放器 mplayer 播放 mp3 文件。

我的 bash 脚本如下:

#!/bin/sh

while :
do
S=$(date)
T=${S:14:2} #this gives me the minute column of the current time
if [ $T -eq 15 ]
then
mplayer path_to_mp3_file
fi
done

当我从终端运行这个 bash 文件时,它工作得非常好。然而,当我使用完全相同的脚本重新启动我的 Linux 计算机时,它无法工作(其他音乐播放器如 vlc 也是如此)。该脚本在包含mplayer file_path 命令时也有效。

我尝试设置一个标准程序来打开脚本,gnome-terminal.wrapper。我能够将程序设置为启动应用程序的方法是在 menu>Preferences>Startup applications 中并将文件添加到已经存在的应用程序中。

最佳答案

您的问题分为两部分。 1. 播放 mp3,2.(大概只有在用户登录时)。对于第 1 部分,使用 crontab 并让 cron 守护进程在整点 15 点运行脚本。您使用 crontab -e 创建您的 crontab 文件(以编辑您的 crontab)。 crontab 条目的格式是:

* * * * * command_to_execute
| | | | |
| | | | +- day of week (0-6) (Sunday = 0)
| | | +--- month (1-12)
| | +----- day of month (1-31)
| +------- hour (0-23)
+--------- minute (0-59)

在你的情况下你会想要:

15 * * * * playmymp3.sh

第 2 部分 在您的脚本中,您需要检查用户是否已登录。要仅在您登录时播放音乐,请测试您是否已使用 users< 登录playmymp3.sh 中的类似内容应该可以工作:

if grep -q "yourlogin" < <( users ); then
#play mp3 file
fi

试一试,然后告诉我。

关于linux - 在系统启动时启动的文件中的日期函数 - bash,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30444286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com