为什么同样的脚本写到sh里结果会不同,如图所示,是一样的脚本,读取pp.txt,然后cat 检查关键字
这可能与 Shell 的版本、环境变量、权限、配置和其他因素有关。
在 Unix/Linux 系统中,Shell 脚本通常是以"#!/bin/bash"或"#!/bin/sh"等开头的。这些行被称为"shebang",用于指定脚本的解释器。例如,"#!/bin/bash"表示脚本将由 Bash 解释器执行,而"#!/bin/sh"表示脚本将由系统默认的 Shell 解释器执行。由于不同的 Shell 解释器有不同的语法和功能,因此相同的脚本在不同的 Shell 中可能会产生不同的结果。
您提供的示例脚本中使用了"grep"命令查找关键字,"cat"命令查看文件内容。这些命令在大多数 Shell 中都是可用的。如果您想确保脚本在不同的 Shell 中都能够正确执行,可以尝试使用通用的 Shell 语法和命令,避免使用特定于某个 Shell 的语法和命令。
输入下面命令,查看终端的shell是那个,
env | grep "SHELL"
然后在你的脚本里,第一行使用同样的shell路径,试试看