Похоже на состояние гонки.cat
пытается прочитать файл, но ваше перенаправление ввода / вывода затормаживает его.Иногда он забивается первым, и вы получаете пустой файл.Если вы используете GNU sed
, вы можете использовать флаг -i
, чтобы изменить файл на месте.В противном случае вам, вероятно, следует использовать временный файл.
Ex (GNU):
sed -i -e "s/${NEW_NAME}/\${NAME}/" "$PLIST"
или
sed -e "s/${NEW_NAME}/\${NAME}/" "$PLIST" > "${PLIST}.tmp" && mv -f "${PLIST}.tmp" "$PLIST"