作为脚本的一部分,我有
gnome-terminal -e "process involving another user"
一旦执行了这行,我就必须在终端中输入该用户的密码 3 次。我想知道如何才能自动执行此操作,也就是说,无需输入密码。
echo "password" (3 times) | gnome-terminal -e "process involving another user"
谢谢@rao_555,但恐怕事情没那么简单。我使用命令
gnome-terminal --working-directory="/var/singlecellserver/single-cell-server" \
-e "sage -python trusted_db.py -w 50 --untrusted-account untrusted@localhost" &
因此,我不想将参数传递给sage -python ...
。一旦sage -python ...
启动,我需要输入 3 次不受信任的密码。我试过了
gnome-terminal --working-directory="/var/singlecellserver/single-cell-server" \
-x sage -python trusted_db.py -w 50 --untrusted-account untrusted@localhost $1 $1 $1 &
但没有成功。
解决了
sudo
该问题与和有关ssh
。由于需要以 身份启动该进程su
,因此通过 访问ssh
不受信任的帐户ssh
也需要根文件夹中的密钥。
答案1
创建一个 shell 脚本并将命令放入其中,仅将密码作为参数传递一次,然后在脚本中使用 $1 获取密码,
使用 $1 在脚本中的任何位置获取您的密码。