sh脚本执行没反应
时间: 2023-07-04 07:20:00 浏览: 521
如果您运行一个 sh 脚本没有反应的话,可能是因为您没有给该脚本文件执行权限。您可以使用以下命令给该脚本文件添加执行权限:
```
chmod +x 脚本文件名.sh
```
然后在终端中执行该脚本文件:
```
./脚本文件名.sh
```
如果您的脚本文件中没有包含解释器路径,那么可以在脚本文件的第一行添加以下内容来指定解释器:
```
#!/bin/bash
```
这个例子中的解释器为 bash,您也可以根据需要指定其他解释器。然后再次执行该脚本文件即可。
如果您仍然遇到问题,请告诉我您的操作系统和脚本文件的内容,以便我能够为您提供更进一步的帮助。
相关问题
在sh脚本运行sh脚本
你可以在一个 Shell 脚本中运行另一个 Shell 脚本。要运行另一个脚本,你可以使用`source`命令或`.`(点)操作符。这将导致当前脚本执行目标脚本中的命令,并保持在同一个进程中。
例如,如果你有两个脚本文件 `script1.sh` 和 `script2.sh`,你可以在 `script1.sh` 中运行 `script2.sh`,可以使用以下方法:
```shell
# script1.sh
source script2.sh
```
或者:
```shell
# script1.sh
. script2.sh
```
这样,`script2.sh` 中的命令将在 `script1.sh` 的上下文中执行。请确保 `script1.sh` 和 `script2.sh` 都在相同的目录下,或者提供完整的路径来引用它们。
sh脚本执行其他sh
在Shell脚本中,有三种方式可以调用其他Shell脚本。首先是使用fork,通过创建新的进程来执行被调用的脚本。其次是使用exec,与fork不同,它不需要新开一个子Shell来执行被调用的脚本,而是在同一个Shell内执行。然而,使用exec调用一个新脚本以后,父脚本中exec行之后的内容就不会再执行了。最后一种方式是使用source命令,它会将被调用的脚本与父脚本合并在一起执行,这样被调用的脚本中的变量和函数都可以在父脚本中使用。
另外,如果想要确保一个脚本在另一个脚本完成后才能运行,可以使用两种方法。一种是使用&&连接器,将两个脚本连接在一起,只有当第一个脚本成功执行后,才会执行第二个脚本。另一种是使用;连接器,将两个脚本连接在一起,无论第一个脚本是否成功执行,都会执行第二个脚本。 这样可以根据具体需求选择适合的方法。
总结起来,调用其他Shell脚本的三种方式是fork、exec和source。而在确保一个脚本在另一个脚本完成后才能运行时,可以使用&&连接器或;连接器。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* *2* *3* [SHELL【1】-在 Shell 脚本中调用另一个 Shell 脚本的三种方式](https://blog.csdn.net/m0_46535940/article/details/124959568)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"]
[ .reference_list ]