新手问题......
目标:
我打算将HTML文本输入字段作为一种命令行输入.
无序的HTML列表显示了最近的5个命令.单击此列表中的最后一个命令应使用相应的命令填充命令行输入文本字段(以便重新执行或修改它).
无序HTML列表包含结果集.单击此列表中的ID应将相应的ID带入命令行输入文本字段.
在HTML(DHTML)中: 按预期工作:单击链接时,命令行输入文本字段将填充最近的命令.
<li><a href="#" id="last_cmd_01" onclick="document.getElementById('cli_input').value = document.getElementById('last_cmd_01').firstChild.nodeValue;document.getElementById('cli_input').focus()">here would be one of the recent commands</a></li>
Run Code Online (Sandbox Code Playgroud)
在JavaScript文件: 不能按预期工作:在点击链接时,在命令行输入文本字段获取具有各自的值填充(如它应该),但后来好像完整的HTML页面被重新加载,文本输入字段和所有动态填充的列表变空.
function exec_cmd(cli_input_str) {
// a lot of code ...
// the code that should provide similar behavior as onclick=... in the DHTML example
$('.spa_id_href').click(function(){document.getElementById('cli_input').value = document.getElementById('cli_input').value + this.firstChild.nodeValue;});
}
Run Code Online (Sandbox Code Playgroud)
现在的问题: 除了潜在的Javascript(语法)错误,还有什么可能导致浏览器重新加载页面?
有没有办法只回显来自Bash的服务器ip地址?我在Linux/Debian6上.
我的意图是为我在服务器中注册的每个新域写入"/ etc/hosts"对domain_name IP.
由于这个bash脚本将打开供公众使用,我试图找到一种通过cli获取此信息的方法.
结论:
这是最终的代码,基于我的朋友帮助我的线索:
newhost() {
DMN=$1
X=`ifconfig | grep Bcast`
Y=`echo "${X#*:}"`
DNS=`echo "${Y%\ B*}"` # server DNS(207.112.37.222)
H='/etc/hosts' #hostfile
PAIR="$DNS\t$DMN"
if grep -i --silent "$DMN" "$H"; then
echo -e "$DMN already exists in $H"
else
bash <<EOF
echo -e "$PAIR" >> "$H"
EOF
echo -e "$PAIR added to $H"
fi
}
Run Code Online (Sandbox Code Playgroud)
顺便说一句,一些天生就已经聪明的家伙投票结束这个问题,这不是很有趣吗?
谢谢.
我写了一个名为测试文件,phpinfo.php这在路径的CentOS是 /var/www/html/phpinfo.php.没有浏览器,有没有办法运行文件并查看输出?
我正在尝试从python获取一个数字作为CLI输入.有效输入应该是int或float,我需要维护类型.因此验证int并返回float不起作用.
这是我能够想到的最好的东西,并不是那么好.
def is_valid(n):
try:
if '.' in n: return float(n)
return int(n)
except ValueError:
print "try again"
def num_input(s):
n = raw_input(s)
while is_valid(n) is None:
n = raw_input(s)
return is_valid(n)
valid_num = num_input("Enter a valid number: ")
Run Code Online (Sandbox Code Playgroud)
显然这不是最好的方法.
我正在使用exec来运行这样的后台脚本:
$command = "/usr/local/bin/php public_html/r/index.php tools $action process $params > /dev/null &";
exec($command);
Run Code Online (Sandbox Code Playgroud)
问题是:它不工作.
提示:
exec命令已启用(我可以执行任何命令而不会出现问题).有任何想法吗?
我在Hostgator注册了一个共享主机包.到目前为止一切顺利,但是在通过ssh执行Symfony 2.1控制台命令时遇到了麻烦.
默认情况下,Hostgator提供php v5.2.经过一些谷歌搜索,我发现在文档根.htaccess文件中添加以下行将打开php v5.3,按照Symfony的要求:
Action application/x-hg-php53 /cgi-sys/php53
AddType application/x-httpd-php53 .php
suPHP_ConfigPath /opt/php53/lib
Run Code Online (Sandbox Code Playgroud)
大!Symfony页面呈现没有错误.唯一的问题是当我使用CLI控制台执行以下命令时:
app/console cache:clear
Run Code Online (Sandbox Code Playgroud)
要么
app/console doctrine:schema:update --force
Run Code Online (Sandbox Code Playgroud)
然后我得到典型的PHP版本兼容性错误:
Parse error: syntax error, unexpected T_STRING, expecting T_CONSTANT_ENCAPSED_STRING or '(' in /home/mysite/public_html/Symfony/app/console on line 13
Run Code Online (Sandbox Code Playgroud)
由php 5.2引擎解析的php 5.3"use"关键字引起的.
花了1个小时试图说服Hostgator代表说Symfony控制台脚本中没有语法错误,但是他们的CLI运行了php 5.2,我转向你们的帮忙,如何让CLI在Hostgator上运行php 5.3 .
我正在使用一个scrapper(在PHP中)并使用cURL来获取页面.该脚本可以在CLI和浏览器中运行.这是我第一次在CLI上使用PHP,我试图使屏幕漂亮,并且有一个很好的数据表示,如scrape统计信息显示.
我能够以我想要的方式生成输出,差不多.但是对于服务器发出的每个cURL请求,它还会输出这个额外的头信息,如下所示:
* About to connect() to imbd.com port 80 (#0)
* Trying 123.111.222.333... * connected
> GET /categories/something.html HTTP/1.1
User-Agent: Mozilla/5.0 (Windows NT 5.1; rv:21.0) Gecko/20130401 Firefox/21.0
Host: imdb.com
Accept: */*
< HTTP/1.1 200 OK
< Server: nginx/1.4.1
< Date: Wed, 25 Dec 2013 02:17:06 GMT
< Content-Type: text/html
< Transfer-Encoding: chunked
< Connection: keep-alive
< Vary: Accept-Encoding
< X-Powered-By: PHP/5.3.17
< Set-Cookie: mobileType=0%something; expires=Wed, 01-Jan-2014 02:17:06 GMT; path=/; domain=.imdb.com
<
* Connection #0 to host imdb.com left intact …Run Code Online (Sandbox Code Playgroud) 例如:
gcloud compute disks create --size=10GB my-data-disk
Run Code Online (Sandbox Code Playgroud)
会印两件事:
警告:
WARNING: You have selected a disk size of under [200GB]. This may result in poor I/O performance. For more information, see: https://developers.google.com/compute/docs/disks/persistent-disks#pdperformance.
Run Code Online (Sandbox Code Playgroud)
这可以通过以下方式消除 --verbosity error
状态:
Created [https://www.googleapis.com/compute/v1/projects/sigma-project-12345/zones/europe-west1-c/disks/my-data-disk].
NAME ZONE SIZE_GB TYPE STATUS
my-data-disk europe-west1-c 10 pd-standard READY
Run Code Online (Sandbox Code Playgroud)
这个我不知道如何禁用,然后重定向stderr,当然我不想要因为我仍然要看是否发生错误.
该-q论点不会删除它.
command-line-interface stderr command-line-arguments gcloud gcloud-cli
在我的节点应用程序中,我使用child_process.spawn来查询当前存储库中的信息
我已经构建了一个小函数来返回一个promise,该promise通过命令的响应来解析:
const spawn = require('child_process').spawn;
const gitExec = command => (
new Promise((resolve, reject) => {
const thread = spawn('git', command);
const stdOut = [];
const stdErr = [];
thread.stdout.on('data', (data) => {
stdOut.push(data.toString('utf8'));
});
thread.stderr.on('data', (data) => {
stdErr.push(data.toString('utf8'));
});
thread.on('close', () => {
if (stdErr.length) {
reject(stdErr.join(''));
return;
}
resolve(stdOut.join());
});
})
);
module.exports = gitExec;
Run Code Online (Sandbox Code Playgroud)
呼叫git branch按预期工作:
gitExec(['branch'])
.then((branchInfo) => {
console.log(branchInfo);
})
Run Code Online (Sandbox Code Playgroud)
(如预期的那样)导致
* develop
feature/forever
feature/sourceconfig
feature/testing
master
Run Code Online (Sandbox Code Playgroud)
根据我的理解,这证明了我用来实际工作的方法. …
因此,假设我想在bash中运行一些命令,然后说八度。有什么办法可以用两个不同的命令运行相同的文件吗?在下面的示例中,我希望第一部分由bash运行,第二部分由八度运行
#!/bin/bash
echo helloooo
#!/bin/octave
plot(1,2)
pause()
Run Code Online (Sandbox Code Playgroud) php ×3
bash ×2
codeigniter ×2
centos ×1
command-line ×1
console ×1
curl ×1
dhtml ×1
dom ×1
exec ×1
gcloud ×1
gcloud-cli ×1
git ×1
input ×1
ip ×1
javascript ×1
jquery ×1
linux ×1
node.js ×1
python ×1
shell ×1
shell-exec ×1
spawn ×1
stderr ×1
symfony ×1