Shell-Script

如何編寫腳本來啟動 Thinkorswim

  • June 11, 2020

我正在嘗試製作一個腳本,該腳本可以從終端中的一個簡單命令自動啟動 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 。這不起作用。sudo``sh
  3. 我已經嘗試添加username ALL=(ALL) NOPASSWD: /usr/bin/thinkorswim到 sudoers。我很快意識到,在通過終端啟動它時,我仍然需要在sudo之前thinkorswim輸入,而這仍然無法通過 dmenu 工作。

每次修改 sudoers 後,我都重新啟動了電腦。我正在執行 Ubuntu 20.04 LTS,i3wm 版本為 4.17。

TL;DR:我正在嘗試執行具有 sudo 權限的腳本,而無需實際輸入sudo密碼。我該怎麼做呢?

任何幫助表示讚賞,謝謝。

這是一個非常容易解決的問題。感謝使用者muru的幫助。我讓腳本這樣說:

#!/bin/sh

sudo /opt/thinkorswim/thinkorswim

然後將此添加到/etc/sudoers

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

sudo正在執行sh,而不是文件本身。現在一切正常,這將每天為我節省很多時間。再次感謝穆魯

引用自:https://unix.stackexchange.com/questions/592194