我需要在运行时将ID和密码传递给批处理文件,而不是将它们硬编码到文件中.
这是命令行的样子:
test.cmd admin P@55w0rd > test-log.txt
Run Code Online (Sandbox Code Playgroud) 人们可以仅请求使用HTTP HEAD报头,作为选项-I在curl(1).
$ curl -I /
Run Code Online (Sandbox Code Playgroud)
冗长的HTML响应主体很难进入命令行,因此我只想获得标题作为我的POST请求的反馈.但是,HEAD和POST是两种不同的方法.
如何让curl仅显示POST请求的响应头?
我想找到一个与Bash相对应的Windows批处理副本,$@其中包含传递给脚本的所有参数的列表.
或者我不得不打扰shift?
我正在使用flightplan来部署我的node.js应用程序.这是我的flightplan.js文件.
var plan = require('flightplan');
plan.target('default', {
host: {{host}},
username: {{ username }},
port: '2222',
agent: process.env.SSH_AUTH_SOCK
});
plan.local(function(local) {
local.log('Copy files to remote hosts');
var filesToCopy = local.exec('git ls-files', { silent: true });
// rsync files to all the destination's hosts
local.transfer(filesToCopy, '~/www/');
});
Run Code Online (Sandbox Code Playgroud)
当我运行飞行默认时它停止并说
'rsync'未被识别为内部或外部命令
我怎样才能获得rsync命令?我正在运行Windows 8.
我有一个小的 python 脚本:
# args.py
import sys; print(sys.argv)
Run Code Online (Sandbox Code Playgroud)
如何编写一个.bat包装文件,将所有参数转发给该脚本?
为了从测试中消除我的 shell,我将调用它:
# args.py
import sys; print(sys.argv)
Run Code Online (Sandbox Code Playgroud)
批处理文件的明显选择
@echo off
python args.py %*
Run Code Online (Sandbox Code Playgroud)
适用于简单情况:
import subprocess
import sys
def test_bat(*args):
return subprocess.check_output(['args.bat'] + list(args), encoding='ascii')
Run Code Online (Sandbox Code Playgroud)
但当在任意字符串上尝试时,很快就会崩溃:
@echo off
python args.py %*
Run Code Online (Sandbox Code Playgroud)
是否有可能使bat文件不加修改地传递其参数?
为了证明它不会subprocess导致问题 - 尝试运行上面的命令
>>> test_bat('a', 'b', 'c')
"['args.py', 'a', 'b', 'c']\n"
>>> test_bat('a', 'b c')
"['args.py', 'a', 'b c']\n"
Run Code Online (Sandbox Code Playgroud)
所有测试均按预期运行
类似问题:
batch-file ×3
windows ×2
arguments ×1
curl ×1
deployment ×1
escaping ×1
http-headers ×1
node.js ×1
post ×1
rsync ×1