news 2026/9/30 2:31:27

Linux下shell执行多用户命令

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Linux下shell执行多用户命令

一、前言

国庆期间,个人服务器断电了,导致服务器上面数据库等应用全部关闭了,但是启动应用时候需要切换到对应的用户,让同事启动,又存在各种应用比较麻烦,个人应用也没有提前编写维护手册,导致服务关闭了好几天。为了省事我就想了一个偷懒的办法,就是用shell脚本切换到那个用户, 然后执行对应的应用脚本。这篇文章我只演示怎么用shell脚本切换到其他用户执行命令,同时在编写过程中用到了其他命令,也总结了使用方法。

二、脚本编写

2.1 执行命令代码段

#!/bin/shsu- mysql<<EOF echo "mysql-----------------" pwd; echo "mysql-----------------" exit EOFsu- wno704<<EOF echo "wno704-----------------" pwd; echo "wno704-----------------" exit EOF

输出结果为:

mysql-----------------
/home/mysql
mysql-----------------
wno704-----------------
/home/wno704
wno704-----------------

2.2 执行单个命令

语法:su - 用户 -c “命令”

示例:

su- mysql-c"service mysql start"

2.3 执行批量命令

语法:su - 用户 -s /bin/sh shell脚本

示例:

su- wno704-s/bin/sh /opt/soft/wno704/start.sh

三、nohup命令使用

3.1 介绍

nohup 是 no hang up 的缩写,就是不挂断的意思。nohup 命令运行由 Command参数和任何相关的 Arg参数指定的命令,忽略所有挂断(SIGHUP)信号。在注销后使用 nohup 命令运行后台中的程序。要运行后台中的 nohup 命令,添加 & ( 表示“and”的符号)到命令的尾部。

3.2 使用场景

如果你正在运行一个进程,而且你觉得在退出帐户时该进程还不会结束,那么可以使用nohup命令。该命令可以在你退出帐户/关闭终端之后继续运行相应的进程。

3.3 使用

在缺省情况下该作业的所有输出都被重定向到一个名为nohup.out的文件中。如果在我们上面shell脚本中切换用户,那么这个命令,则会在命名的统计目录中生成nohup.out文件。为了解决这种问题,我们需要对文件输出进行重定向。

案例一
nohupcommand>myout.file2>&1&

在上面的例子中,

  • 0 – stdin (standard input)
  • 1 – stdout (standard output)
  • 2 – stderr (standard error)

2>&1是将标准错误(2)重定向到标准输出(&1),标准输出(&1)再被重定向输入到myout.file文件中。

案例二
su-test-c"nohup /opt/test/run.sh > /opt/test/nohup.out &"

这个例子是在脚本执行中将test用户的run.sh执行结果输出到脚本执行的平级目录中。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/30 2:31:10

深度拆解|Dif.Sh 开源特性开关(Feature Flags)技术架构与工程落地全解析

一、前言在现代前端、后端及全栈持续交付体系中&#xff0c;特性开关&#xff08;Feature Flags/Feature Toggles&#xff09;是支撑灰度发布、渐进式迭代、A/B测试、故障快速回滚的核心工程化能力。传统特性开关解决方案普遍存在架构割裂、配置与代码分离、版本不可追溯、评审…

作者头像 李华
网站建设 2026/9/30 2:30:23

triage - OUT-OF-SCOPE

范围外知识库&#xff08;Out-of-Scope Knowledge Base&#xff09; 仓库中的 .out-of-scope/ 目录存储被拒绝的功能请求的持久记录。它有两个用途&#xff1a; 机构记忆 —— 功能为何被拒绝&#xff0c;使问题关闭后推理不会丢失去重 —— 当新问题与先前的拒绝匹配时&#x…

作者头像 李华
网站建设 2026/9/30 2:29:50

wiliwili 快速上手指南:在 Switch、PS4 与 PC 上流畅观看 B 站

wiliwili 快速上手指南&#xff1a;在 Switch、PS4 与 PC 上流畅观看 B 站 【免费下载链接】wiliwili 第三方B站客户端&#xff0c;目前可以运行在PC全平台、PSVita、PS4 、Xbox 和 Nintendo Switch上 项目地址: https://gitcode.com/GitHub_Trending/wi/wiliwili wiliw…

作者头像 李华
网站建设 2026/9/30 2:29:15

Puter.js:零 API Key,1 行 JS 接入 500+ AI 模型与云存储

Puter.js&#xff1a;零 API Key&#xff0c;1 行 JS 接入 500 AI 模型与云存储 【免费下载链接】puter &#x1f310; The Internet Computer! Free, Open-Source, and Self-Hostable. 项目地址: https://gitcode.com/GitHub_Trending/pu/puter Puter.js 是一款免费、开…

作者头像 李华