Articles of shell

移动文件和文件夹,除非less数

我把一个服务器的网站移到另一个服务器时犯了一个可怕的错误。 我们使用virtualmin在新服务器中创build了虚拟主机。 但是,当从旧服务器恢复文件到新服务器,我错误地复制“/ home / VIRTUALHOSTS-NAME /”中的所有文件,而不是“/ home / VIRTUALHOSTS-NAME / public_html”。 现在,我必须将所有文件从虚拟主机的主目录移动到public_html目录,除了像fcgi-bin,public_html,awstats,cgi-bin这样的几个默认文件夹,可以通过shell脚本或任何带pipe道的命令?

使用PowerShell脚本唤醒Web服务器?

我正在构build一个执行http请求的脚本,以便“唤醒”一些asp.net应用程序。 以下脚本正在工作,但是是同步的: function WakeUp([string] $url) { Write-Host "Waking up $url …" -NoNewLine $client = new-object system.net.WebClient $client.UseDefaultCredentials = $true $null = $client.OpenRead($url) $client.Dispose() Write-Host " Ok" } # Run your code that needs to be elevated here @( "http://app1/", "http://app2/", "http://app3/" ) | % { WakeUp $_ } 我想改进这个脚本,以避免目标网站被唤醒。 事实上,打电话给OpenRead在返回之前等待一个答案。 我尝试过使用OpenReadAsync ,但在调用Dispose之前发生请求实际发射和目标应用程序没有被唤醒。 我有什么select? [编辑]应用Andy Arismendi的build议,我的脚本现在是: […]

在bash脚本中回答交互式问题

我有一个支持奇怪“ssh”的设备。 它不支持密钥validation我的问题是我不知道如何喂它的用户名和密码(-l或用户@主机不工作)。 这样连接后请求login名和密码: zeratul@antioch:~$ ssh 1.2.3.4 Please login: user password : Login incorrect 是否有可能从shell脚本做到这一点,或者我可以忘记它? 提前致谢。

pipe道到命令之前的前缀标准输出

在Linux(Debian)上,如何在将命令的标准输出连接到第二个命令之前,将一个或多个命令的标准输出作为前缀? 这是使用sendmail邮寄命令的输出,如下所示: pflogsumm <args> | sendmail <address> 我不能用这种方式指定主题行,因为sendmail会从input的input中提取标题字段。 因此,我想使用sed前缀pflogsumm输出。 谢谢。 /大卫

在shell脚本中使用sed来replace文件中的IP地址

我有一个脚本,发现一个文件中的string用一个新的stringreplace它。 $ sed -i 's/$old_string'/'$new_string'/g' $FILENAME 现在我需要条件是一个正则expression式,也检查旧的string是否跟随任何东西,但数字。 我试过这个,但没有奏效: $ sed -i -r 's/$old_string(^[0-9])+/$new_string/g' $FILENAME 任何想法?

从zip提取时,使shell脚本可执行

我有一个从github中拉出来的shell文件,并使用TeamCity构build成zip文件。 它通常被编辑并从Windows机器放入github。 我需要这个shell脚本在解压缩时可执行。 我该怎么做呢? 目前我必须做chmod + x blah.sh

更改shell后ssh root权限被拒绝

在我尝试更改我的服务器shell之后,我无法再以root身份login。 首先,我以root身份安装了z-shell(zsh),然后我想将其更改为我的默认shell。 所以我用“chsh”。 我的错是,我输错了路。 通过Putty注销和新的login后,我得到了“访问被拒绝”的消息。 可以预见的是,当shell的path不存在的时候。 所以我login到我的控制面板,并通过filemanager更改了/ etc / passwd文件:我纠正了第一行的错误最后部分 – root用户: 根:X:0:0:根:/根:在/ usr / bin中/ zsh的 即使我将其更改为旧的shell / bin / bash或/ bin / sh,它也不起作用。 我读了密码和阴影是没有活文件,所以我重新启动服务器,但仍然是同样的问题 任何想法,我还能做什么? 操作系统:Debian 5 + Parallels Plesk 11

Bash:以美元为圆括号的两个命令不具有相同的行为

在Bash中,我并不是为了解释为什么, echo $(hostname –fqdn)作品, echo $(id -un)不( id: –un: No such user )。 反引号给出了相同的结果。 使用这个符号是否有一些好的做法? id命令是否有这样一个特殊的使用方法? 下面有些细节看起来适用于其他系统: lsb_release -a :SUSE Linux Enterprise Server 11(x86_64), which id :/ usr / bin / id, id -un独自工作。

PowerShellpipe道对象的function

以下是我正在尝试做的事情: function Set-test { [CmdletBinding()] param( [Parameter(Mandatory=$True, ValueFromPipeline=$True)] [object[]]$inputObject ) Write-Verbose "Set-test: input obj= $inputObject" PROCESS { foreach ($obj in $inputobject) { Write-Output $obj } } } function Get-test { $obj = New-Object PSObject $obj | Add-Member -MemberType NoteProperty -Name "swName" -Value "banana" $obj | Add-Member -MemberType NoteProperty -Name "Version" -Value "3.2.2" Write-Output "obj = […]

如何使用powershell远程调用一个commandlet

我如何使用PowerShell调用远程命令。 两台电脑都在同一个networking中,我可以从一个到另一个远程桌面连接。 编辑:这两台机器都有Powershell V2,Windows Server 2008。 我尝试完成的任务是从第一台计算机重新启动第二台和第三台计算机上的Velocity。 正在做这个restart-cachehost是restart-cachehost 。