如何编写脚本来启动 Thinkorswim

如何编写脚本来启动 Thinkorswim

我正在尝试制作一个脚本,通过终端中的简单命令自动启动 Thinkorswim。我写了一个非常简单的脚本:

#!/bin/sh

sh /opt/thinkorswim/thinkorswim

它位于 /usr/bin 目录中,因此我只需thinkorswim在终端中输入即可。该应用程序需要 sudo 才能运行,我想让它这样我就不必输入sudo,然后输入我的密码。这部分是为了速度和方便,部分是因为我希望能够通过 i3 上的 dmenu 启动它。

  1. 我已经尝试放入echo password | sudo sh...脚本。这是行不通的。
  2. 在脚本中添加之前,我尝试添加username ALL=(ALL) NOPASSWD: /opt/thinkorswim/thinkorswim到 sudoers 。这是行不通的。sudosh
  3. 我尝试添加username ALL=(ALL) NOPASSWD: /usr/bin/thinkorswim到 sudoers 。我很快意识到,在通过终端启动它时,我仍然需要输入sudo之前的内容,并且这仍然无法通过 dmenu 工作。thinkorswim

每次修改sudoers后我都会重新启动计算机。我运行的是 Ubuntu 20.04 LTS,i3wm 版本为 4.17。

TL;DR:我正在尝试使用 sudo 权限运行脚本,而无需实际输入sudo密码。我该怎么做呢?

如有任何帮助,我们将不胜感激,谢谢。

答案1

这是一个非常简单的修复。感谢用户穆鲁为了帮助。我让脚本这样说:

#!/bin/sh

sudo /opt/thinkorswim/thinkorswim

然后将其添加到/etc/sudoers

username ALL=(ALL) NOPASSWD: /opt/thinkorswim/thinkorswim

sudo正在运行sh,而不是文件本身。现在一切都很完美,这每天都会节省我很多时间。再次感谢穆鲁

相关内容