gpt4 book ai didi

linux - bash 执行代码在执行 ' sudo -i' 后停止

转载 作者:太空宇宙 更新时间:2023-11-04 10:34:06 25 4
gpt4 key购买 nike

# !/bin/bash
sudo -i
cd /etc/apt/sources.list.d
echo "deb http://archive.ubuntu.com/ubuntu/ precise main restricted universe multiverse" >ia32-libs-precise.list
sudo apt-get update
sudo apt-get install ia32-libs
sudo rm /etc/apt/sources.list.d/ia32-libs-raring.list
sudo apt-get update

当我执行此脚本时,它只是执行“sudo -i”然后停止,谁能帮助我?

最佳答案

sudo 联机帮助页说:

-i,--login
Run the shell specified by the target user's password data‐base entry as a login shell.
.
.
.
If no command is specified, an interactive shell is executed.

难怪你的脚本会停止执行。

命令

cd /etc/apt/sources.list.d
.
.
sudo apt-get update

永远不会到达,因为您刚刚使用 sudo -i 生成了一个新的 shell。

作为[ @mona_sax ]在评论中建议,在安全上下文中以 sudo 运行脚本可能不是一个好主意。目前尚不清楚您的实际意图是什么,但如果意图是在后台运行脚本,则删除 sudo -i 行并执行:

./script 2>&1 1>/dev/null &

关于linux - bash 执行代码在执行 ' sudo -i' 后停止,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38365242/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com