使用dash执行“/bin/dash sh -c cmd”出现两个进程,一个sh -c cmd 和一个其子进程cmd,如何解决
时间: 2024-02-11 21:04:21 浏览: 23
如果你想要在只有一个进程的情况下执行 "cmd" 命令,可以使用以下命令:
```
/bin/dash -c "cmd"
```
这个命令会在一个新的 shell 中执行 "cmd" 命令,但是不会创建一个新的进程。这个命令会直接使用当前的进程来执行 "cmd" 命令。
相关问题
/bin/bash /bin/csh /bin/dash /bin/ksh /bin/sh /bin/tcsh /bin/zsh
这些是一些常见的Unix/Linux操作系统中可用的命令解释器(shell)路径。其中,/bin/bash 是Bourne Again Shell,是最常用的命令解释器之一。其他的解释器包括:/bin/csh(C Shell),/bin/dash(Debian Almquist Shell),/bin/ksh(Korn Shell),/bin/sh(Bourne Shell),/bin/tcsh(Enhanced C Shell),和/bin/zsh(Z Shell)。每个命令解释器有各自的特性和用途,用户可以根据自己的需要选择合适的解释器来执行命令和脚本。
/bin/bash 和 /bin/sh的区别
/bin/bash和/bin/sh的区别在于它们是不同的shell程序。/bin/bash是Bourne-Again shell的缩写,是一种常见的Unix shell,而/bin/sh则是Unix shell的标准路径。在大多数Linux系统中,/bin/sh实际上是指向/bin/bash的符号链接,因此它们在大多数情况下是等效的。但是,在某些情况下,/bin/sh可能指向不同的shell程序,这取决于系统管理员的配置。
举个例子,如果你在脚本中使用#!/bin/sh作为shebang行,那么脚本将使用系统中默认的shell来解释执行。如果默认的shell是/bin/bash,那么脚本将使用bash来解释执行。但是,如果默认的shell是其他shell程序,例如dash或zsh,那么脚本将使用相应的shell来解释执行。
如果你想修改默认的shell,可以使用chsh命令。例如,要将默认shell更改为bash,可以运行以下命令:
```shell
chsh -s /bin/bash
```
这将更改当前用户的默认shell为bash。