Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 从给定脚本文件检索hash bang/shebang_Python_Shell_Shebang - Fatal编程技术网

Python 从给定脚本文件检索hash bang/shebang

Python 从给定脚本文件检索hash bang/shebang,python,shell,shebang,Python,Shell,Shebang,是否有方法检索UNIX shell将用于给定脚本的解释器的路径?最好使用Python API或作为shell命令 要像这样使用: $ get_bang ./myscript.py /usr/bin/python3 当然,我可以使用RE手动提取,但我确信在现实世界中,这比处理第一行更复杂,我不想重新发明轮子 我之所以需要它,是因为我想从另一个脚本内部调用脚本,并想向解释器添加参数。实际上,它并不比读取第一行的第一个单词复杂 试着把shebang放在第二行,甚至在前面加一个空格,看看会发生什么 此

是否有方法检索UNIX shell将用于给定脚本的解释器的路径?最好使用Python API或作为shell命令

要像这样使用:

$ get_bang ./myscript.py
/usr/bin/python3
当然,我可以使用RE手动提取,但我确信在现实世界中,这比处理第一行更复杂,我不想重新发明轮子


我之所以需要它,是因为我想从另一个脚本内部调用脚本,并想向解释器添加参数。

实际上,它并不比读取第一行的第一个单词复杂

试着把shebang放在第二行,甚至在前面加一个空格,看看会发生什么


此外,您还可以查看和了解更多有关shebang功能的信息。

许多方法,例如:

sed -n '1s/^#!//p' filename
例如印刷品

/bin/sh
或者如果是多字

/usr/bin/env perl
或者什么都没有,如果这里没有shebang

小的改进:sed-n'1{s/^![:blank:][]*//p;q}文件名