/bin/sh: 1: Syntax error: word unexpected - Using os.system() from Python
/bin/sh: 1: Syntax error: word unexpected - Using os.system() from Python
我正在尝试从 python 执行 shell 命令。这是命令:
(flock -n 200 || (echo no; exit 1) && (echo yes; cat /home/user/Desktop/instructions.json; >/home/user/Desktop/instructions.json)) 200>>/home/user/Desktop/instructions.json
我尝试了 os.system() 或 subprocess.call();但是我总是有同样的错误:
/bin/sh: 1: Syntax error: word unexpected
我认为问题是由于括号引起的,但我不确定。
感谢 cat,我正在尝试读取该文件,如果它没有被锁定,则删除它的内容,否则只是 echo no 并退出。
此命令适用于 shell。
要在 shell 中执行来自 python 的命令,请使用 shell=true
作为参数:
subprocess.call("your command", shell=true)
见this post
您似乎正试图锁定 Python 中的文件。
在您的情况下,您有两个机会:
- 可以使用python函数fcntl.flock()直接锁定一个文件
- 您也可以使用一个简单的脚本 sh,在开头写
#!/bin/sh
我正在尝试从 python 执行 shell 命令。这是命令:
(flock -n 200 || (echo no; exit 1) && (echo yes; cat /home/user/Desktop/instructions.json; >/home/user/Desktop/instructions.json)) 200>>/home/user/Desktop/instructions.json
我尝试了 os.system() 或 subprocess.call();但是我总是有同样的错误:
/bin/sh: 1: Syntax error: word unexpected
我认为问题是由于括号引起的,但我不确定。
感谢 cat,我正在尝试读取该文件,如果它没有被锁定,则删除它的内容,否则只是 echo no 并退出。
此命令适用于 shell。
要在 shell 中执行来自 python 的命令,请使用 shell=true
作为参数:
subprocess.call("your command", shell=true)
见this post
您似乎正试图锁定 Python 中的文件。
在您的情况下,您有两个机会:
- 可以使用python函数fcntl.flock()直接锁定一个文件
- 您也可以使用一个简单的脚本 sh,在开头写
#!/bin/sh