我写了这样一个bash脚本:
#!/bin/bash
var=2
echo result: $(expr "$var" + 1) > test.out我使用./test命令从shell运行它,它创建文件test.out和输出到文件中。
result: 3我很想更详细地了解bash用于替换值、重定向stdout和生成输出到文件中的底层步骤。
请解释一下操作系统是如何执行这个脚本的吗?
发布于 2022-12-01 16:23:39
这里有一个简单的模式,其中包含脚本执行后发生的主要步骤:
* --> Script execution -> Shell --> Expansion --> Command execution在脚本中执行命令之前,shell首先将命令准备为带有重定向和输入/输出管道的过滤器。之后,当shell查找特殊字符并替换它们(如果有的话)时,就会出现shell展开。
关于替代,它遵循以下顺序:
命令的
转换为文件名
https://stackoverflow.com/questions/74643912
复制相似问题