python3 os.system()失败,错误为sh:2:语法错误:“|”意外

时间:2018-01-07 08:54:25

标签: python-3.x ubuntu

我正在尝试使用python3运行它 system('echo %s|sudo -S %s' % (password, "date > " + file_path))

但是将其视为错误 sh: 2: Syntax error: "|" unexpected

1 个答案:

答案 0 :(得分:1)

一个可能不相关的问题是你没有正确引用输入并输出命令中的变量。

subprocess

但是,对于所有合法文件名作为文件名。我建议使用os.system模块而不是subprocess.Popen('echo %s|sudo -S %s' % (password, "date > " + file_path), stdout=subprocess.PIPE) ,让shell完全脱离过程:

ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)

require 'bundler/setup' # Set up gems listed in the Gemfile.

require 'rails/commands/server'
module DefaultOptions
  def default_options
    super.merge!(Port: 3020)
  end
end

Rails::Server.send(:prepend, DefaultOptions)