【发布时间】:2015-05-10 17:38:52
【问题描述】:
我正在使用命令行 perl 在文件中执行就地替换。这是代码:(注意root perm 使用sudo)
sudo perl -i -pe "s/foo/bar/" config.txt
如果成功,'echo $?'返回 0。现在我使用这样的 chattr 使文件不可写,即使是 root 用户:
sudo chattr +i config.txt
我运行相同的 perl 命令,但失败并出现以下错误:
无法删除 config.txt:不允许操作,正在跳过文件。
这很好。然而,“回声$?”在这种情况下仍然返回 0。为什么会这样?它不应该返回一个指示错误的非零值吗?
【问题讨论】:
标签: linux perl return-value