给出以下bash脚本:
testing.sh:
for i in {1..50};
do
sleep 0.1;
echo -n $i;
done
Run Code Online (Sandbox Code Playgroud)
如何使用每个回波实时进行PERL输出?它的工作正常,echo但echo -n似乎让PERL认为它是一个很大的回声,而不是单独的回声.
PERL代码适用于普通回声
$| = 1;
open CMD, "testing.sh 2>&1 |";
while (<CMD>) {
print "$_ \r";
}
close CMD;
Run Code Online (Sandbox Code Playgroud)
如果你运行它,你会发现PERL不会打印任何东西5秒(50*0.1s).如果您只是更改为echo -n,echo那么它将实时输出.
这里的想法是我echo -ne "...\r"在bash中使用命令,我希望使用PERL实现相同的效果.
编辑:
我的1..50例子只是为了证明.实际上我想在PERL中打印一个bash进度条,它将更新如下:
[####..............................................] 6.20%
[####..............................................] 6.40%
[#####.............................................] 7.40%
Run Code Online (Sandbox Code Playgroud)
除了bash将使用\ r而不是\n.这与wget的进度条类似.我希望在PERL中有相同的效果.好处是我看到读取可以通过X字符读取,并且回声将是设定长度.我找不到任何适合我想要做的事情的好例子.
编辑2:
我得到了我需要读的东西......
现在我正在使用进度条来完善它.进度条正好是60个字节,我使用以下内容:
$| = 1;
open CMD, "testing.sh 2>&1 |";
my ($buf, $data, $n);
while (($n = read CMD, $data, 60) …Run Code Online (Sandbox Code Playgroud) 我需要一个打印名称的第一个字母的bash脚本.例如:Ruben Van Den Bosshe成为RVDB或Ken Van de Wilde成为KVdW
我想使用sed命令.
我有一个Command,检查CanExecute需要很长时间.现在,我问我,是否可以运行CanExecute异步方法?
是否可以从外部api 访问命令行Api?
简单示例:
HTML
<div id="myDiv"></div>
<script src="myScript.js"></script>
Run Code Online (Sandbox Code Playgroud)
myScript.js
$$('#myDiv').textContent = 'this will not work';
Run Code Online (Sandbox Code Playgroud)
我不想加载像jQuery或Zepto这样的外部库,因为像这样的seens已经在本地加载了.
有没有办法在linux终端发送一个简单的电子邮件?
to: somebody@gmail.com
sub: Sending email from linux terminal
body: This is a short email sent from linux terminal
Run Code Online (Sandbox Code Playgroud)
我需要设置什么样的堆栈或smtp?我该如何设置它们?
我需要netcat来监听HTTP请求,并根据请求,我需要运行一个脚本.
到目前为止,我有这个;
netcat -lk 12345 | grep "Keep-Alive"
Run Code Online (Sandbox Code Playgroud)
所以每当netcat收到一个包含"keep-alive"的包时,我需要触发一个脚本.
它需要在crontab中运行...
谢谢你的帮助!
我在三个不同的文件上有三个类,以通过GUI获得用户输入
#file1
class GetInfo1():
def getInfo1():
#my code
return info1
#file2
class GetInfo2():
def getInfo2():
#my code
return info2
#file3
class GetInfo3():
def getInfo3():
#my code
return info3
Run Code Online (Sandbox Code Playgroud)
从不同的文件调用这些方法,Getinformation.py
该文件将是
from GetInfo1 import *
from GetInfo2 import *
from GetInfo3 import *
object1 = GetInfo1()
getInfor1 = object1.getInfo1()
print getInfor1
object2 = GetInfo2()
getInfor2 = object2.getInfo2()
print getInfor2
object3 = GetInfo3()
getInfor3 = object3.getInfo3()
print getInfor3
Run Code Online (Sandbox Code Playgroud)
类如下:
from Tkinter import *
root = Tk()
app = Frame(root)
entry = …Run Code Online (Sandbox Code Playgroud) Windows 7的:
cscript C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs -g
Run Code Online (Sandbox Code Playgroud)
Windows XP:
cscript C:\windows\system32\prnmngr.vbs -g
Run Code Online (Sandbox Code Playgroud)
这些将获得当前系统的默认打印机.我想知道是否有办法在我的计算机上运行它以通过计算机名称获取远程计算机的默认打印机?
我试过跑:
psexec \\c78572 -i -d cscript C:\Windows\System32\Printing_Admin_Scripts\en-US\prnmngr.vbs -g
Run Code Online (Sandbox Code Playgroud)
它似乎运行..但我只在远程计算机上的快速弹出cmd行窗口中看到结果而不是我的.我所看到的就是:
cscript started with process ID 568.
Run Code Online (Sandbox Code Playgroud)
在powershell gwmi win32_printer -computername c78572工作..但我不知道如何排序它以显示默认打印机.
编辑12/20/13我试图将它与显示所有打印机和默认设置相结合,但我无法让它工作:
while (1) {
$tag1 = Read-Host 'Enter tag # or Q to quit'
if ($tag1 -eq "Q") {
break;
}
cls
sc.exe \\$tag1 start RemoteRegistry;
cls
start-sleep -seconds 2
cls
$OSInfo = get-wmiobject -class win32_operatingsystem -computername $tag1;
$OSInfo | Format-Table -Property @{Name="OS Name";Expression={$_.Caption}},@{Name="System Boot Time";Expression={$_.ConvertToDateTime($_.LastBootUpTime)}} -AutoSize;
gwmi …Run Code Online (Sandbox Code Playgroud) 我正在使用bash shell,我想创建一个别名,它将对给定目录执行一些操作.假设我希望别名是"执行",我希望它能用于ls和cd.我希望"执行"采取一个参数,这是一个目录,然后它将ls,然后cd进入.
execute temp
Run Code Online (Sandbox Code Playgroud)
应相当于:
ls temp ; cd temp
Run Code Online (Sandbox Code Playgroud)
那么我如何为执行后创建一个别名来读取下一个输入,然后将其用作另外两个的参数呢?像这样的东西?
alias execute="directory=VALUE ; ls $directory ; cd $directory"
Run Code Online (Sandbox Code Playgroud) 我试图将我的设备上的一个完整目录(not rooted)复制到我的mac目录中,说/Users/myUserName/Documents/Copied使用android Pull命令,但每次运行命令时,它都会给我一条消息说remote object does not exist.
我用了
File file = new File(Environment.getExternalStorageDirectory()+"/PB/").getAbsolutePath();
获取我的设备中目录的绝对路径/storage/emulated/0/PB.现在我运行以下命令
./adb pull /storage/emulated/0/PB /Users/myUserName/Documents/Copied/
Run Code Online (Sandbox Code Playgroud)
我收到了以下回复
remote object '/storage/emulated/0/PB' does not exist
Run Code Online (Sandbox Code Playgroud)
我不知道我的方法有什么问题,为什么即使目录在我的设备中也不起作用.
请指导.
command ×10
linux ×4
bash ×3
adb ×1
alias ×1
android ×1
api ×1
asynchronous ×1
button ×1
c# ×1
command-line ×1
console ×1
email ×1
firebug ×1
grep ×1
javascript ×1
netcat ×1
object ×1
perl ×1
powershell ×1
printing ×1
pull ×1
python ×1
scripting ×1
sed ×1
smtp ×1
tkinter ×1
unix ×1
variables ×1
wpf ×1
wsh ×1