如何在不创建文件的情况下执行 shell 脚本

Jus*_*tin 2 shell bash sh shell-scripting

如何在不创建文件的情况下执行 shell 脚本?例如,假设我有以下脚本 ( testscript):

#!/bin/bash
function run_free() {
   free -m
}

run_free
Run Code Online (Sandbox Code Playgroud)

然后我当然可以执行此操作: sh testscript

不过,我想避免创建文件。我试过:

sh echo '#!/bin/bash function run_free() { free -m } run_free'

哪个不起作用。有任何想法吗?

mgo*_*ven 11

大多数解释器都有一个参数来指定一些要执行的代码。您可以使用它来调用特定的解释器并提供代码。例如:

bash -c 'function run_free() { free -m; }; run_free'
Run Code Online (Sandbox Code Playgroud)

(请注意,您需要一些分号,因为您没有换行符。)

perl使用-e,并python使用-c