我需要从 python 运行命令,所以我正在做:
os.system('IFS=".";for f in data/* ; do read -ra ADDR <<< "$f"; mv "$f" "data/${ADDR[-1]}"; done;')
但它说:
sh: 1: Syntax error: redirection unexpected
但如果我在 bash 中运行它,它工作正常:
IFS="."
for f in data/*
do
read -ra ADDR <<< "$f"
mv "$f" "data/${ADDR[-1]}"
done;
它工作得很好。如何修复它以使其在一条线上工作?
@steeldriver 已查明问题所在。您可以通过以下方式解决它:
但在这一点上,你最好只在 python 中完成整个事情,而不是调用 bash:类似于
在@steeldriver 评论和@glenn jackman 回答之后: