【发布时间】:2019-05-02 18:20:39
【问题描述】:
所以我有一个文件。目前它看起来像这样:
#!/usr/bin/env python3
print(1)
我想在远程机器上调整它。最简单的方法是运行
< test.py ssh server-name python3
但是如果我不知道它是一个 python 脚本(或者我可能不知道它是 python3 而不是 python2)并且想要尊重它的 shebang 怎么办?
我试过了
< test.py ssh server-name exec /dev/stdin
但它失败了,因为/dev/stdin 不可执行
为简单起见,我们假设两台服务器都是最新的 Ubuntu。
所以问题是如何运行尊重它的任意脚本shebang?
【问题讨论】:
-
这通常不是远程运行本地脚本的好方法。它仅在脚本本身不尝试从标准输入读取时才有效。
-
@chepner 这是一个很好的观点(但在我的情况下它并不相关,因为脚本不应该从标准输入读取)
标签: shell command-line sh