嗯哼,辦法是有的。
目前找到兩種解決方案,方案一親測有效,方案二未試過,僅做記錄。
方案一
有的應用自帶選項,可以直接從標準輸入讀入資料,這時候只需要結合管道就好了。比如sudo
的-s
引數,以及passwd
de-stdin
引數。
舉個例子,使用該方法執行netease-cloud-music
。
使用sudo
的-s
選項,結合shell
的輸入重定向。比如,我每次都需要提權開啟netease-cloud-music
,那麼我可以寫這麼乙個指令碼:
#!/usr/bash
# netease-cloud-music.sh
echo
"your password"
|sudo -s netease-cloud-music --force-device-scale-factor=2 --no-sandbox
然後賦予執行許可權:sudo chmod +x netease-cloud-music.sh
,然後再執行sh netease-cloud-music.sh
即可,無需再次輸入密碼。
與快捷鍵繫結之後,每次只需要按下快捷鍵,他就能自動開啟了,很方便。
方案二
這個辦法涉及乙個額外的應用叫做expect
,在manajro
上可以使用pacman
來安裝。expect
就是用來做互動的,基本任何互動登入的場合都能使用,但是需要安裝expect包。
語法如下:
#!/bin/expect
settimeout 30
spawn ssh -l jikuan.zjk 10.125.25.189
expect
"password:"
send "zjk123\r"
interact
上述命令解釋如下:
bash指令碼,自動輸入sudo的密碼
解決方法 echo 管道 開始使用 echo admin sudo service tomcat7 stop 始終提示輸入密碼 後來檢視了下sudo命令的使用 man sudo 發現有如下的解釋 s the s stdin option causes sudo to read the passwor...
bash指令碼,自動輸入sudo的密碼
解決方法 echo 管道 開始使用 echo admin sudo service tomcat7 stop 始終提示輸入密碼 後來檢視了下sudo命令的使用 man sudo 發現有如下的解釋 s the s stdin option causes sudo to read the passwor...
用 echo 管道命令給sudo自動輸入密碼
用 echo 管道命令給sudo自動輸入密碼 這種方式密碼會明文顯示,密碼不安全,僅作為學習練習用 1 echo psw sudo s cmd 1 有時候使用指令碼執行管理員命令時,希望能夠自動執行,不被sudo 密碼中斷 2 這時候可以使用 echo 密碼 sudo s 命令 的形式來自動輸入密碼...