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