我的脚本:
#!/bin/bash
generic()
{
echo $1;
$1 > temp.txt 2>&1
}
generic "echo asd > /dev/null 2>&1; echo temp"
预期结果:
- “asd”应该去 /dev/null
- “temp”应该进入 temp.txt 文件。
实际结果:
- “asd > /dev/null 2>&1; echo temp”进入 temp.txt 文件。
为什么只有第一个 echo 语句运行并且它的输出被重定向到 temp.txt。另外,为什么第二个命令被视为字符串?