`sh -c`命令——解决命令权限问题、一条命令中执行多个指令

sh -c在Shell中执行一个字符串作为命令,可以在一条命令中执行多个指令。

语法如下:

sh -c 'command'

其中,command是要执行的命令或命令串。

案例

[root@localhost shyn]# sh -c 'echo 111; echo 222'
111
222

使用sh -c与直接终端敲命令的区别

**1、sh -c属于非交互模式

  • 在终端上敲入命令就可以显示对应结果,这样与终端进行交互执行命令的方式就称为交互模式。
  • 非交互模式就是调用 bash 解释器,通过 bash -c 后接命令的形式来解释执行命令

2、sh -c多个命令可以在一行中执行

3、sh -c方便编程调用

  • 使用sh -c命令的一个常见场景是通过其他程序或脚本调用Shell命令。
  • 例如,在一个Python脚本中使用subprocess模块调用Shell命令时,可以使用sh -c来执行包含多个命令的脚本。

使用sh -c解决命令权限问题

下面例子中sudo执行echo追加命令报错权限不足,原因是重定向符号 ">" ">>"也是 bash 的命令。我们使用 sudo 只是让 echo 命令具有了 root 权限,但是没有让 “>” ">>" 命令也具有 root 权限,所以 bash 会认为这两个命令都没有像 test.csv文件写入信息的权限。

[shyn@localhost ~]$ sudo echo "hhh" >>test
bash: test: 权限不够
[shyn@localhost shyn]# ll
总用量 8
-rw-r--r--. 1 root root 12 38 05:41 test
[shyn@localhost ~]$ sudo sh -c 'echo "hhh" >>test'
[sudo] shyn 的密码:
[shyn@localhost ~]$

解决方法:利用 "sh -c" 命令,它可以让 bash 将一个字串作为完整的命令来执行,这样就可以将 sudo 的影响范围扩展到整条命令。

相关推荐

  1. SSH连接服务器后执行命令

    2024-03-12 07:02:05       28 阅读
  2. neo4j如何并列执行命令

    2024-03-12 07:02:05       37 阅读
  3. Linux写脚本执行系列命令

    2024-03-12 07:02:05       10 阅读
  4. 3Linux文件权限命令

    2024-03-12 07:02:05       37 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-03-12 07:02:05       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-12 07:02:05       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-12 07:02:05       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-12 07:02:05       20 阅读

热门阅读

  1. 系统安全与网络攻击

    2024-03-12 07:02:05       21 阅读
  2. [python3] 工厂模式

    2024-03-12 07:02:05       19 阅读
  3. 公式排序算法实际运用

    2024-03-12 07:02:05       20 阅读
  4. 每天学习一个Linux命令之less

    2024-03-12 07:02:05       22 阅读
  5. 二、UML 类图与面向对象设计原则 之 UML概述

    2024-03-12 07:02:05       25 阅读
  6. excel 将缺失的单元个填充为NA

    2024-03-12 07:02:05       34 阅读
  7. [2023年]-hadoop面试真题(三)

    2024-03-12 07:02:05       18 阅读
  8. Unity 3D常用的数据结构

    2024-03-12 07:02:05       22 阅读
  9. 大语言模型提示工程简介

    2024-03-12 07:02:05       22 阅读
  10. 二维的旋转平移矩阵

    2024-03-12 07:02:05       17 阅读
  11. 矩阵最大权值

    2024-03-12 07:02:05       22 阅读
  12. 华为HCIE实验题库哪里有?Cloud相关证书咋样?

    2024-03-12 07:02:05       23 阅读