在 OSX 上我会
sudo route delete default
sudo route add default 192.168.178.1
更改我的默认网关。
在使用这些 sh 文件运行我每次都会被要求输入密码。我运行的是
sh changegw.sh
。
我如何提前输入我的密码?
答案1
对于 sudo,有一个 -S 选项用于从标准输入接受密码。以下是 man 条目:
-S The -S (stdin) option causes sudo to read the password from
the standard input instead of the terminal device.
这将允许您运行如下命令:
echo myPassword | sudo -S ls /tmp
答案2
虽然最简单的方法是以 root 身份运行脚本,但您也可以在 sudoers 文件中创建一个无需密码即可运行该程序的组,并将您的用户名添加到该组。
不过,我个人从来没有这样做过,并且不建议将特定的行添加到您的 sudoers 文件。