Shell-Script
如何編寫腳本來啟動 Thinkorswim
我正在嘗試製作一個腳本,該腳本可以從終端中的一個簡單命令自動啟動 Thinkorswim。我寫了一個非常簡單的腳本:
#!/bin/sh sh /opt/thinkorswim/thinkorswim
這是在 /usr/bin 目錄中,所以我可以
thinkorswim
在終端中輸入。該應用程序需要 sudo 才能執行,我想這樣做,所以我不必輸入sudo
,然後輸入我的密碼。這部分是為了速度和方便,部分是因為我希望能夠通過 i3 上的 dmenu 啟動它。
- 我試過把
echo password | sudo sh...
腳本放進去。這不起作用。- 在腳本中添加之前,我嘗試添加
username ALL=(ALL) NOPASSWD: /opt/thinkorswim/thinkorswim
到 sudoers 。這不起作用。sudo``sh
- 我已經嘗試添加
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
,而不是文件本身。現在一切正常,這將每天為我節省很多時間。再次感謝穆魯。