Tag: shell

彩色的shell脚本输出库

我正在寻找一个确定的方式来构build生成彩色输出的shell脚本。 不幸的是,我很难find适当的lib或好的技术来做到这一点。 我发现了很多有用但简单的例子。 也是我迄今为止发现的最全面的指南是这一个 。 在我开始写我自己的图书馆之前,我想检查是否有人已经写了它 如果你的解决scheme不符合下面的观察这不是一个问题。 我也想阅读它,所以如果决定写我自己的解决scheme,它可以帮助我 我主要的关注/观察: 需要安全 。 要避免垃圾输出,因为不是所有的terminal或寻呼机/编辑器(如less,more,vim等)都支持彩色输出或更多样式的输出(粗体,眨眼,斜体等) 需要简单易读 。 直接使用ANSI转义码是非常可怕的: echo -e '\033[32mthis is ugly and \033[1;32mvery green\033[0m' 需要给我访问前景和背景文本的整个调色板和样式 。 我发现的大多数例子只使用前景文本的基本颜色。 它最好只使用简单的命令,比如在大多数操作系统上可以find的命令和/或通用命令中构build的bash或更简单的shell。 例如,我可以使用colorize但我需要ruby(这是有点确定)和colorize gem安装(不好) Tput似乎是一个不错的select,因为它可以很好地处理shell游标,但是它更简单/不灵活 编辑 在对terminal控制和输出格式化进行一些研究之后,我写这个试图完成这个任务的要点 。 到目前为止,它做得很好

-bash:__git_ps1:找不到命令

我试图安装Ruby 2.0。 我的命令行被激活,现在看起来像下面这样: -bash: __git_ps1: command not found [11:58:28][whatever@whatever ~]$ 我没有一个线索如何摆脱__git_ps1命令找不到错误。 我search了我的.bash_profile和我的.bashrc,看它是否设置了一个variables或者什么也没有看到任何东西。 我能find的唯一的地方是git_ps1在〜/ .dotfiles / .bash_prompt中。 我完全replace该文件的内容,注销并重新login,它不修复任何内容。 我看到这个 ,但是我对命令行很新,所以我只是迷惑了自己。 有任何想法吗?

在PowerShell中,如何testing全局范围内是否存在特定的variables?

我正在使用WPF应用程序的一些UI自动化的PowerShell脚本。 通常情况下,脚本是基于全局variables的值作为一个组来运行的。 当我只想运行一个脚本的时候手动设置这个variables有点不方便,所以我正在寻找一种方法来修改它们来检查这个variables,如果没有find,就设置它。 testingpathvariables:\ foo似乎不工作,因为我仍然得到以下错误: variables'$ global:foo'不能被检索,因为它没有被设置。

如何#! shebang工作?

在脚本中你必须包含一个#! 在第一行,然后是执行脚本的程序的path(例如:sh,perl)。 据我所知, #字符表示一个注释的开始,该行应该被执行该脚本的程序忽略。 看起来,这第一行是在某种程度上被某些东西读取,以便脚本被正确的程序执行。 请有人可以更多地了解#!的运作#! ? 我真的很好奇,所以答案越深入越好。

PowerShell Web请求,而不会在4xx / 5xx上抛出exception

我正在写一个PowerShell脚本,需要做一个Web请求,并检查响应的状态代码。 我试过写这个: $client = new-object system.net.webclient $response = $client.DownloadData($url) 以及这个: $response = Invoke-WebRequest $url 但是只要网页的状态码不是成功状态码,PowerShell就会继续并引发exception,而不是给我实际的响应对象。 即使加载失败,我如何获得页面的状态码?

引用与执行脚本相关的文件

在我写的一个bash脚本中,我使用source来包含configuration文件中定义的variables。 要执行的脚本是act.sh ,而作为source的脚本是act.conf.sh ,所以在act.sh我有: source act.conf.sh 但是,这只适用于在包含它的目录中运行act.sh ,因为act.conf.sh指的是放置在工作目录下的文件。 有没有一种解决scheme,使其引用该文件相对于正在执行的脚本,而无需调用cd ? 谢谢。

如何将parameter passing给Linux Bash脚本?

我有一个Linux bash脚本“myshell”。 我希望它读取两个date作为参数,例如: myshell date1 date2 。 我是一名Java程序员,但不知道如何编写脚本来完成此任务。 脚本的其余部分是这样的: sed "s/$date1/$date2/g" wlacd_stat.xml >tmp.xml mv tmp.xml wlacd_stat.xml

什么是* nix命令来查看用户的默认loginshell

什么是* nix命令来查看用户的默认loginshell? 我可以使用chsh更改默认的loginshell,但我不知道如何获取用户的默认shell。 伪代码 $ get-shell /usr/bin/zsh

使用PowerShell查找与模式匹配的第一个文件

我想select一个目录中的任何一个“.xls”文件。 问题是dir命令可以返回不同的types。 gci *.xls 将返回 对象[]如果有多个文件 FileInfo如果只有一个文件 如果没有文件,则返回null 我可以处理null,但我怎样才能select“第一个”文件?

linux命令末尾的“&”是什么意思?

我是一名系统pipe理员,并被要求运行一个linux脚本来清理系统。 命令是这样的: perl script.pl > output.log & 所以这个命令是以“ &结尾的,有没有什么特别的意义呢? 我有壳的基本知识,但我从来没有见过这个。