Python:-bash:意外标记附近的语法错误

Python:-bash:意外标记附近的语法错误,python,command-line-arguments,Python,Command Line Arguments,我用Python编写了一个小脚本,用于将文本附加到工作日志中。我已将脚本放在$PATH中的一个目录中 #!/usr/bin/python # import necessary modules import sys import os import datetime # main() function def main(): now = datetime.datetime.now() tmp = ' '.join(sys.argv[1:]) outfile = '/path/

我用Python编写了一个小脚本,用于将文本附加到工作日志中。我已将脚本放在$PATH中的一个目录中

#!/usr/bin/python

# import necessary modules
import sys
import os
import datetime


# main() function
def main():
  now = datetime.datetime.now()

  tmp = ' '.join(sys.argv[1:])

  outfile = '/path/to/output/done.log'

  outstr = now.strftime("%Y-%m-%d %H:%M:%S") + ' - ' + tmp + '\n'

  f=open(outfile,'a')
  f.write(outstr)
  f.close()

  # print sys.argv[0:1]
  print 'Adding ' + outstr

# Call main()
if __name__ == '__main__':
  main()
当我像示例1一样运行脚本时,我得到一个错误

例1:

host:scripts user$ done this is a test
-bash: syntax error near unexpected token `done'
如果我像示例2中那样运行脚本,它的行为将与预期的一样

例2:

host:scripts user$ python done this is a test
Adding 2012-11-15 09:57:44 - this is a test

如何在第一个示例中实现此功能?

done
是bash关键字,因此不能在某些地方使用,例如“bash需要命令名的地方”。您可以使用
/done
(或
/path/to/done
,或
python/path/to/done
),或重新命名命令。

done
是bash关键字,因此不能在某些地方使用,例如“placebash需要命令名”。您可以使用
/done
(或
/path/to/done
,或
python/path/to/done
),或重新命名该命令。

非常好!如果我将脚本重命名为“cow”,它将非常有效。。。现在找一个动词,意思是完整的…非常好!如果我将脚本重命名为“cow”,它将非常有效。。。现在要找到一个表示完成的动词。。。