#!/bin/sh/ -e是什么意思
时间: 2023-08-09 17:09:23 浏览: 72
`#!/bin/sh -e` 是一个脚本文件的开头部分,用于指定脚本使用的解释器和选项。
- `#!/bin/sh` 表示该脚本使用的是 `/bin/sh` 解释器来执行。`/bin/sh` 是 Linux 系统中默认的 Bourne shell 解释器。
- `-e` 是指定了一个选项,即 `set -e`,表示在脚本执行过程中,如果任何命令返回非零的退出状态码(表示命令执行失败),则立即终止脚本的执行。
所以,`#!/bin/sh -e` 的意思是在使用 Bourne shell 解释器执行该脚本时,如果任何命令执行失败,则立即终止脚本的执行。这样可以确保在脚本出现错误时能够及时停止执行,避免错误继续扩大影响。
注意,`-e` 选项并不是 Bourne shell 的默认行为,需要显式地设置才会生效。
相关问题
#!/bin/sh ROOT_SEARCH=/opt/app/bin/SearchClient ret=0 如何调用ROOT_SEARCH?并传递参数120给它,并接收它的返回值,判断返回值是不是等于120
要调用 ${ROOT_SEARCH} 程序并传递参数 120 给它,可以在脚本中加入以下代码:
```bash
${ROOT_SEARCH} 120
ret=$?
```
其中 `${ROOT_SEARCH} 120` 会调用程序并传递参数 120 给它,而 `$?` 则会获取程序的返回值并将它赋值给 `ret` 变量。可以在此基础上继续编写判断语句,例如:
```bash
#!/bin/sh
ROOT_SEARCH=/opt/app/bin/SearchClient
ret=0
if [ -e ${ROOT_SEARCH} ];then
chmod +x ${ROOT_SEARCH}
${ROOT_SEARCH} 120
ret=$?
fi
if [ $ret -eq 120 ];then
echo "The return value is 120"
else
echo "The return value is not 120"
fi
```
这样就可以调用 ${ROOT_SEARCH} 程序并传递参数 120 给它,并且判断它的返回值是否等于 120 了。
bin/sql-client.sh embedded -e 什么意思
这是一个运行 SQL 客户端的脚本命令,其中:
- `bin/sql-client.sh` 是启动 SQL 客户端的脚本命令;
- `embedded` 表示使用嵌入式模式来启动客户端,即客户端和服务器在同一进程中运行;
- `-e` 选项指定客户端要连接的引擎或存储后端。具体来说,这里的 `e` 可以是以下任意一个值:
- `mem` 表示连接到内存数据库;
- `fs` 表示连接到文件系统存储的数据库;
- `h2` 表示连接到 H2 数据库;
- `mysql` 表示连接到 MySQL 数据库;
- `postgresql` 表示连接到 PostgreSQL 数据库;
- `sqlserver` 表示连接到 SQL Server 数据库;
- `oracle` 表示连接到 Oracle 数据库;
- `druid` 表示连接到阿里巴巴 Druid 数据库;
- `clickhouse` 表示连接到 ClickHouse 数据库;
- `hbase` 表示连接到 HBase 数据库;
- `mongodb` 表示连接到 MongoDB 数据库。