簡體   English   中英

node.js使用sudo執行多個命令

[英]node.js execute multiple commands with sudo

在我的node.js腳本中,我需要使用sudo運行以下兩個命令:

execSync('sudo rsync -a ' + dir1 + " " + dir2);
execSync('sudo rm -Rf ' + dir1);

但這導致它將兩次詢問sudo密碼; 除此之外,如果我輸入了錯誤的密碼,腳本將繼續運行而無需再次請求; 如何緩存密碼以避免兩次被提示,並等到提供正確的密碼后再繼續?

遵循這一建議 ,我還建議僅在同一sudo命令下執行兩個命令。

execSync('sudo -- sh -c \'rsync -a ' + dir1 + ' ' + dir2 + ' && rm -Rf ' + dir1 + '\'');

可以通過execSync本身來檢測是否發生錯誤。 似乎在stderr不為空時引發異常。 我本來會建議檢查命令的退出代碼,但是該庫似乎沒有公開它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM