我想在shell脚本中暂停输入,并提示用户进行选择.标准的"是,否或取消"类型问题.如何在典型的bash提示符中完成此操作?
我正在寻找一个代码库,通过普通标签或CSS将ANSI转义序列转换为HTML颜色.例如,可以转换它的东西:
ESC[00mESC[01;34mbinESC[00m ESC[01;34mcodeESC[00m ESC[01;31mdropbox-lnx.x86-0.6.404.tar.gzESC[00m ESC[00mfooESC[00m
进入:
<span style="color:blue">bin</span>
<span style="color:blue">code</span>
<span style="color:red">dropbox-lnx.x86-0.6.404.tar.gz</span>
foo
Run Code Online (Sandbox Code Playgroud)
将休息转换为<br/>是不必要的,它只是我不知道的转义码.我可以自己一起破解它,但我可能会错过一些重要的东西,如下划线或搞乱背景颜色如何工作.我宁愿坐在别人的代码之上.
是否存在这样的工具(命令行linux)或库(perl,python或ruby)?
是否可以更改prettyprint(require 'pp')在格式化输出时使用的宽度?例如:
"mooth"=>["booth", "month", "mooch", "morth", "mouth", "mowth", "sooth", "tooth"]
"morth"=>["forth",
"mirth",
"month",
"mooth",
"morph",
"mouth",
"mowth",
"north",
"worth"]
Run Code Online (Sandbox Code Playgroud)
第一个数组是内联打印的,因为它适合列宽,prettyprint允许(79个字符)...第二个数组分成多行,因为它没有.但我找不到更改此行为开始的列的方法.
pp取决于PrettyPrint(有哪些方法允许缓冲区的不同宽度).有没有办法更改默认列宽pp,而无需从头开始重写(PrettyPrint直接访问)?
或者,是否有类似的ruby gem提供此功能?
我正在尝试在Outlook中获取一个VBA宏,它将保存电子邮件对特定文件夹的附件,并将收到的日期添加到文件名中.
我的谷歌搜索让我这么远:
Public Sub saveAttachtoDisk (itm As Outlook.MailItem)
Dim objAtt As Outlook.Attachment
Dim saveFolder As String
Dim dateFormat As String
saveFolder = "C:\Temp\"
dateFormat = Format(Now, "yyyy-mm-dd H-mm")
For Each objAtt In itm.Attachments
objAtt.SaveAsFile saveFolder & "\" & dateFormat & objAtt.DisplayName
Set objAtt = Nothing
Next
End Sub
Run Code Online (Sandbox Code Playgroud)
第一个显而易见的事情是它将当前时间应用于文件名而不是接收时间,但我似乎无法改变它.我的理论是Outlook.Attachment没有ReceivedTime,并且必须引用电子邮件本身.
其次,这似乎根本不起作用,哈!它开始修补的第一天工作,但之后它停止保存文件.
我正在运行zsh作为Ubuntu盒子上的默认shell,并且使用gnome-terminal(据我所知模仿xterm)一切正常.当我通过ssh和putty(也模仿xterm)从Windows框登录时,主/端密钥不再有效.
我已经能够解决将这些行添加到我的zshrc文件...
bindkey '\e[1~' beginning-of-line
bindkey '\e[4~' end-of-line
Run Code Online (Sandbox Code Playgroud)
......但我仍然想知道这里有什么问题.任何的想法?
我不小心将一些大型二进制数据提交到了一些提交中.从那以后我更新了我的.gitignore,这些文件不再被提交了.但是我想回到旧的提交中,有选择地从存储库中删除这些数据,删除应该在.gitignore中的几个目录.我不想删除提交本身.
我将如何实现这一目标?我首选的方法是将.gitignore规则追溯应用于旧提交的某种方式...使用此方法的答案对其他人来说也非常有用,因为我确信我的问题不是唯一的.它也可以快速应用于通用解决方案,而无需针对每个用户的唯一目录结构进行大量自定义.
这是可能的,无论是我上面提出的简单方法,还是以更复杂的方式?
我有一个图片模型,其中包含视图计数(整数)的变量.每当有人查看Picture对象时,视图计数就会增加+1.
完成这项工作后,有什么区别
@picture.view_count += 1
@picture.save
Run Code Online (Sandbox Code Playgroud)
和
@picture.increment(:view_count, 1)
Run Code Online (Sandbox Code Playgroud)
如果我使用增量,还是.save必要吗?
我们有几个curses样式的应用程序,我们希望通过基于浏览器的界面提供访问.
我们有一个来自其他供应商的应用程序,它表面上基于旧版本的JTA(Java Telnet应用程序)提供此应用程序, 但该applet不能处理调整好的事情,并且对回滚缓冲区和复制/粘贴的支持相对较差.
在基于Ajax的界面的这一天,我很好奇是否有任何好的,免费的解决方案.
感谢这个网站,我看到了对Reflection的基于网络的终端模拟器的引用,但这可能对我们的需求来说太贵了.
我见过的一些潜在候选人包括
ajaxterm
没有回滚栏
但我没有机会做详细的评估.
我有一些看起来像这样的代码:
if (Get-ADUser $DN -EA SilentlyContinue) {
# Exists
} else {
# Doesn't Exist
}
Run Code Online (Sandbox Code Playgroud)
不幸的是,当Get-ADUser DN无法找到用户时(这很好,这意味着没有采用对象名称),它会抛出并吐出错误.我知道它会失败,这很好,这就是为什么我有一个-ErrorAction到SilentlyContinue.不幸的是它似乎什么也没做......我仍然在脚本输出上得到barf.代码工作,由于控制台吐出错误,它只是丑陋.
此特定示例是Get-User和Get-Mailbox(Exchange 2010).Get-User返回我需要的一些列,以及其他一些Get-Mailbox.我很难弄清楚如何将两者的结果合并到一张表中并得到两者的结果.
Get-User -Filter "..." | Get-Mailbox -Filter "..."
Run Code Online (Sandbox Code Playgroud)
如何获取与上述类似的命令的结果并将其转换为类似于下面的结果?
FirstName LastName Alias CustomAttribute1
--------- -------- ------ ----------------
Bob Smith bsmith Example
Johnny NoMail
Adam Blye ablye Has a Mailbox
Run Code Online (Sandbox Code Playgroud)
请注意,Get-Mailbox不返回FirstName和LastName,相反,Get-User不返回Alias和CustomAttributes.并非每个用户都有邮箱,因此有时列的一部分将为空.但我有一个时间的魔鬼找出返回这样的组合表的最佳方法.
powershell ×2
ruby ×2
terminal ×2
ansi-escape ×1
attachment ×1
bash ×1
binary-data ×1
git ×1
html ×1
increment ×1
keyboard ×1
linux ×1
outlook ×1
outlook-vba ×1
pretty-print ×1
scripting ×1
shell ×1
vba ×1
zsh ×1