小编Tri*_*tan的帖子

从URL执行bash脚本

假设我在URL"http://mywebsite.com/myscript.txt"上有一个包含脚本的文件:

#!/bin/bash
echo "Hello, world!"
read -p "What is your name? " name
echo "Hello, ${name}!"
Run Code Online (Sandbox Code Playgroud)

我想在没有先将其保存到文件的情况下运行此脚本.我该怎么做呢?

现在,我已经看到了语法:

bash < <(curl -s http://mywebsite.com/myscript.txt)
Run Code Online (Sandbox Code Playgroud)

但是这似乎不像我保存到文件然后执行那样.例如,readline不起作用,输出只是:

$ bash < <(curl -s http://mywebsite.com/myscript.txt)
Hello, world!
Run Code Online (Sandbox Code Playgroud)

同样,我试过:

curl -s http://mywebsite.com/myscript.txt | bash -s --
Run Code Online (Sandbox Code Playgroud)

结果相同.

最初我有一个解决方案,如:

timestamp=`date +%Y%m%d%H%M%S`
curl -s http://mywebsite.com/myscript.txt -o /tmp/.myscript.${timestamp}.tmp
bash /tmp/.myscript.${timestamp}.tmp
rm -f /tmp/.myscript.${timestamp}.tmp
Run Code Online (Sandbox Code Playgroud)

但这似乎很草率,我想要一个更优雅的解决方案.

我知道有关从URL运行shell脚本的安全性问题,但我们现在就忽略所有这些问题.

linux bash curl

163
推荐指数
10
解决办法
14万
查看次数

将JavaScript原语分配给它们的命名等效变量,如"常量"

我正在查看qTip 2的源代码并看到以下内容:

// Munge the primitives - Paul Irish tip
var TRUE = true,
   FALSE = false,
    NULL = null;
Run Code Online (Sandbox Code Playgroud)

我无法想出你应该这样做的理由,并且有一种强烈的感觉,它只会鼓励不良的编码习惯.假设开发人员在Yoda条件下输入错字if (TRUE = someCondition()),然后TRUEfalse可能最终意味着,或者您最终可能会分配someObjectNULL.

我想我只是想知道这种做法是否有一些赎回的质量,我错过了,或者这只是一个普通的Bad Idea™

javascript qtip

17
推荐指数
1
解决办法
584
查看次数

标签 统计

bash ×1

curl ×1

javascript ×1

linux ×1

qtip ×1