在我的脚本中运行以下行会给我一个Permission denied错误:
$config_out | sed -e 's#name="in" value=""#name="in" value="1600"#' > $config_out".tmp"
在我$config_out | sed -e 's#name="in" value=""#name="in" value="1600"#' > $config_out
之前,最后没有.tmp。我在某处读到,当您尝试将输出传输到您正在读取它的同一文件时,您会收到错误。但是当我把它写到另一个文件时,我不知道为什么会出现这个错误。
答案 0 :(得分:1)
$config_out
是文件或命令的名称吗?如果是文件,则需要cat $config_out | sed ...
或sed ... < $config_out > $config_out.tmp
。但是,如果它是一个命令,第一个命令可能会截断/覆盖它的任何内容(shell脚本或perl脚本或其他东西?)。