print_args.py 770 B

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. #!/usr/bin/env python
  2. import sys
  3. def get_commandline_args(no_executable=True):
  4. extra_chars = [
  5. " ",
  6. ";",
  7. "&",
  8. "|",
  9. "<",
  10. ">",
  11. "?",
  12. "*",
  13. "~",
  14. "`",
  15. '"',
  16. "'",
  17. "\\",
  18. "{",
  19. "}",
  20. "(",
  21. ")",
  22. ]
  23. # Escape the extra characters for shell
  24. argv = [
  25. arg.replace("'", "'\\''")
  26. if all(char not in arg for char in extra_chars)
  27. else "'" + arg.replace("'", "'\\''") + "'"
  28. for arg in sys.argv
  29. ]
  30. if no_executable:
  31. return " ".join(argv[1:])
  32. else:
  33. return sys.executable + " " + " ".join(argv)
  34. def main():
  35. print(get_commandline_args())
  36. if __name__ == "__main__":
  37. main()