从 bash 脚本执行时,tmux 找不到 运行 服务器

tmux can't find running server when executed from bash script

我有一个简单的 bash 脚本,其中包含许多命令,如下所示:

(cd /home/mc/ ;
echo msg-here ;
tmux send-keys -t mc "say xyz" ENTER ;
echo successful ;) > scripts/logs/$(date +%d-%m-%Y).txt

执行脚本时,我在终端中得到了 no server running on /tmp/tmux-0/default 的结果,尽管我可以从终端毫无问题地执行 tmux send-keys -t mc "say xyz" ENTER


备注

谢谢

注意:这只是一种解决方法 - 但它似乎对我的用例来说完美无缺。

方法: 我创建了一个新的 bash 脚本 myscript-entry.sh 以实际用户身份运行主脚本。

脚本内容如下。

su -c "/home/mc/myscript.sh" - mc

从包含两个脚本的目录(或任何地方,因为“入口”脚本使用绝对路径)执行 sudo ./myscript-entry.sh,现在应该可以正确执行 tmux 命令。