小编Myr*_*rys的帖子

如何在Linux shell脚本中提示是/否/取消输入?

我想在shell脚本中暂停输入,并提示用户进行选择.标准的"是,否或取消"类型问题.如何在典型的bash提示符中完成此操作?

linux bash shell scripting

1352
推荐指数
25
解决办法
94万
查看次数

用于将ANSI转义(终端格式/颜色代码)转换为HTML的库

我正在寻找一个代码库,通过普通标签或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)?

html terminal-color ansi-escape

73
推荐指数
3
解决办法
3万
查看次数

格式化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提供此功能?

ruby pretty-print

43
推荐指数
2
解决办法
6万
查看次数

将附件保存到文件夹并重命名

我正在尝试在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,并且必须引用电子邮件本身.

其次,这似乎根本不起作用,哈!它开始修补的第一天工作,但之后它停止保存文件.

outlook vba attachment outlook-vba

37
推荐指数
2
解决办法
23万
查看次数

zsh中的Home/End键不适用于putty

我正在运行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)

......但我仍然想知道这里有什么问题.任何的想法?

keyboard terminal zsh terminal-emulator

33
推荐指数
5
解决办法
2万
查看次数

事后,从git存储库中修剪二进制数据

我不小心将一些大型二进制数据提交到了一些提交中.从那以后我更新了我的.gitignore,这些文件不再被提交了.但是我想回到旧的提交中,有选择地从存储库中删除这些数据,删除应该在.gitignore中的几个目录.我不想删除提交本身.

我将如何实现这一目标?我首选的方法是将.gitignore规则追溯应用于旧提交的某种方式...使用此方法的答案对其他人来说也非常有用,因为我确信我的问题不是唯一的.它也可以快速应用于通用解决方案,而无需针对每个用户的唯一目录结构进行大量自定义.

这是可能的,无论是我上面提出的简单方法,还是以更复杂的方式?

git version-control binary-data

33
推荐指数
1
解决办法
2万
查看次数

.increment vs + = 1

我有一个图片模型,其中包含视图计数(整数)的变量.每当有人查看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必要吗?

ruby ruby-on-rails increment

33
推荐指数
3
解决办法
3万
查看次数

什么是一个很好的基于浏览器的终端模拟器?

我们有几个curses样式的应用程序,我们希望通过基于浏览器的界面提供访问.

我们有一个来自其他供应商的应用程序,它表面上基于旧版本的JTA(Java Telnet应用程序)提供此应用程序, 但该applet不能处理调整好的事情,并且对回滚缓冲区和复制/粘贴的支持相对较差.

在基于Ajax的界面的这一天,我很好奇是否有任何好的,免费的解决方案.

感谢这个网站,我看到了对Reflection的基于网络的终端模拟器的引用,但这可能对我们的需求来说太贵了.

我见过的一些潜在候选人包括

  1. anyterm
  2. ajaxterm

    没有回滚栏

但我没有机会做详细的评估.

terminal webbrowser-control terminal-emulator

23
推荐指数
2
解决办法
1万
查看次数

检查是否存在AD对象; 如何避免丑陋的错误消息?

我有一些看起来像这样的代码:

if (Get-ADUser $DN -EA SilentlyContinue) {
  # Exists
} else {
  # Doesn't Exist
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,当Get-ADUser DN无法找到用户时(这很好,这意味着没有采用对象名称),它会抛出并吐出错误.我知道它会失败,这很好,这就是为什么我有一个-ErrorActionSilentlyContinue.不幸的是它似乎什么也没做......我仍然在脚本输出上得到barf.代码工作,由于控制台吐出错误,它只是丑陋.

  • 有没有更好的方法来测试特定对象是否存在?
  • 如果没有,有没有办法让ErrorAction正确沉默?

error-handling powershell active-directory powershell-3.0

12
推荐指数
3
解决办法
4万
查看次数

在PowerShell中,如何组合两个具有1对1关系的命令的结果?

此特定示例是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

10
推荐指数
2
解决办法
5万
查看次数