bash后台运行.sh程序命令
时间: 2023-12-20 12:05:01 浏览: 73
要将一个shell脚本在后台运行,可以使用以下命令:
```
nohup /path/to/script.sh &
```
其中,`nohup`命令可以让程序在后台运行,即使终端关闭,程序也不会停止。`&`符号可以将程序放到后台运行。`/path/to/script.sh`是你要运行的脚本的路径。
注意,如果你的脚本需要从标准输入中读取数据,你需要将其重定向到一个文件中或者使用/dev/null:
```
nohup /path/to/script.sh < /dev/null &
```
这样可以避免程序在后台运行时在终端中等待输入。
相关问题
linux利用 test.sh 脚本程序的命令
Linux中,如果你有一个名为`test.sh`的脚本文件,通常它是一个 shell 脚本,比如 Bash、Zsh 或者其他shell(如Sh、Ksh等)。你可以通过以下几种常见方式来运行这个脚本:
1. **直接执行**:
如果脚本有执行权限(即文件开头有`#!/bin/bash`或其他相应解释器),可以在终端输入脚本文件名即可:
```
$ ./test.sh
```
2. **赋予执行权限**(如果需要):
使用`chmod`命令给脚本添加执行权限:
```
$ chmod +x test.sh
```
然后再执行。
3. **source命令**(逐行执行,通常用于脚本内部):
```
$ . test.sh
```
4. **bash命令**(将脚本视为外部命令):
对于Bash shell,可以直接作为外部命令引用:
```
$ bash test.sh
```
5. **nohup&后台执行**(如果脚本不需要用户交互):
```
$ nohup test.sh &
```
6. **alias别名**(创建快捷方式):
```sh
alias mytest=test.sh
mytest
```
7. **使用./路径**:
```
$ /path/to/test.sh
```
执行前,请确保你当前目录下或者脚本所在路径在系统的PATH环境变量中,否则需要提供完整路径。
Ubuntu系统下,设置开机自动执行文件test.sh(其作用是启动test.bin文件),如何编写test.sh的内容,并设置其在开机后自动执行
在Ubuntu系统中,你可以创建一个名为`test.sh`的shell脚本来启动`test.bin`文件并在开机时自动运行。首先,你需要确保`test.bin`是一个可以由shell解释的程序,比如它可能是可执行的二进制文件或者是可以由bash等壳直接调用的命令。
以下是`test.sh`的基本内容:
```bash
#!/bin/bash
# 将test.bin放在系统的某个路径下,这里假设在/home/user目录下
/path/to/test/bin/test.bin & disown
```
`#!/bin/bash`是shebang行,告诉Linux使用bash shell来解析这个脚本。`&` 符号表示在后台运行,`disown`命令则是为了防止终端关闭时杀死该进程。
要在Ubuntu开机自启此脚本,你需要将其添加到系统的初始化脚本中,最常见的是`cron.daily`、`rc.local`或通过Systemd服务管理。这里以`rc.local`为例:
1. 打开`rc.local`文件,通常位于 `/etc/rc.local`。如果没有,可以使用文本编辑器创建:
```
sudo nano /etc/rc.local
```
2. 在文件的末尾添加如下行,确保在已经存在的启动命令之后执行`test.sh`:
```
# 这里是在启动前运行test.sh
su -c '/home/user/test.sh' root &
exit 0
```
3. 保存并退出编辑器,然后更新权限让root用户能读取此文件:
```
chmod +x /etc/rc.local
```
4. 重启系统,此时`test.sh`将自动执行。
阅读全文