Linux shell脚本切换为root用户执行命令

首先安装expect。

sudo apt install expect

创建shell脚本文件,示例内容如下:

bash 复制代码
#!/usr/bin/expect

spawn su root

expect {

"密码:" {send "00000\r"}

"Password:" {send "000000\r"}

}

send "./user_app\r"

expect eof

exit

其中,"000000\r"是root用户密码。

send语句用于向终端传递需要输入的字符串。

如send "000000\r"是输入密码

send "./user_app\r"是输入需要执行的应用程序。"\r"为换行符。

相关推荐
linx29536 分钟前
单元五 · 对称认知·下:编译与链接
linux·c语言·开发语言·c++·嵌入式硬件
橘色的喵41 分钟前
Claude Code 状态栏脚本:一行显示模型、上下文占用、git 分支和当前目录
linux·git·bash·claude
Jason_zhao_MR43 分钟前
新国标下DTUFTU设计最优解——米尔基于全志T153核心板_排版优化
linux·单片机·架构·t113i·双处理器·mcu+linux·电力采集
程序员-Benothing1 小时前
Linux 用户与用户组管理:useradd usermod groupadd 实战
linux·运维·服务器
byte轻骑兵1 小时前
【BlueZ 】util 模块:通用工具函数,源码中高频复用的基础组件
linux·人工智能·bluez·电脑蓝牙·嵌入式蓝牙
M78佐菲1 小时前
51单片机学习笔记(2)
linux·笔记·嵌入式硬件·学习·51单片机
C++ 老炮儿的技术栈1 小时前
西门子 S7 常用存储区(I/Q/M/T/C/DB/PI/PQ)
linux·开发语言·c++·windows·qt·io
T1mzhou1 小时前
ARM64 Linux 6.10 内核驱动(13):bus.c / driver.c 总线两张表,驱动怎么挂上去
linux·服务器·c语言·arm开发·arm
六点_dn1 小时前
线上踩坑:Binlog重放,线上服务未停止导致主键冲突
linux·运维·服务器
持敬chijing1 小时前
CentOS 从零搭建 LAMP 环境完整实战指南
linux·运维·web安全·网络安全·centos