Articles of shell

如何让ssh等到命令退出?

我有一个如下所示的脚本: SERVER="RHT372 RHTl373 RHT374 RHTl375" case $1 in "stop") for SERVER in $SERVER do echo "================================================" echo Stopping $SERVER ssh root@$SERVER /var/tmp/stopServer.sh server1 done ;; 我怎样才能使SSH等待命令完成,然后去下一个服务器,并发出相同的命令?

Insserv拒绝了脚本标题

我正在尝试为主pipe安装debian安装的init脚本。 insserv: Service \$remote_fs has to be enabled to start service supervisor insserv: Service \$syslog has to be enabled to start service supervisor insserv: exiting now! update-rc.d: error: insserv rejected the script header init脚本的完整内容在这里: #! /bin/sh ### BEGIN INIT INFO # Provides: supervisor # Required-Start: \$remote_fs \$syslog # Required-Stop: \$remote_fs \$syslog # Default-Start: 2 3 […]

如何重新获得通过SSH断开连接的交互式shell?

场景: 我在Windows上,使用腻子login到一个根shell。 它目前正在运行一个交互式的过程,提示input以继续。 典型的交互过程,可能在等待下一个提示标准。 我失去了我的Wifi连接。 而且我用完全不同的IP(现在是3G连接)重新连接到互联网。 我怎样才能恢复这个会议? 我需要回到这个shell有很多原因。 一个是我真的很讨厌每当我断开连接时,每个腻子窗口都会丢失我的背景/历史。 而coursse,最可怕的是能够回到当前正在等待input的交互式进程。 简而言之: 断开与互联网 因此连接因服务器而closures或超时 我用一个新的IP回到互联网 我想重新获得相同的壳,并在最后/现在的状态。 所以如果一个交互过程正在运行,它应该恢复一切(例如:tail,vi,less +当前的input缓冲区) 这种情况是否可以恢复,尽pipe没有先运行其他进程(例如:屏幕)

Powershell数组求和列基于另一个

我有一个自定义对象从一个SQL查询看起来像这样 这基本上是我如何构build对象,它工作正常,但我似乎无法find如何分组他们。 foreach ($row in $result) { $props = @{ 'MailboxName' = $row.MailboxName 'PSTsFound' = $row.PSTsFound 'Messagesremaining' = $row.Messagesremaining } $obj = New-Object -TypeName PSObject -Property $props $userPSTs += $obj } Column1 Column2 User1 3 User1 6 User1 8 用户2 10 User2 3 User3 4 User4 6 User4 2 我想把它变成这个 Column1 Column2 User1 17 用户2 […]

如何迭代bash数组并高效地创buildSCP命令?

我需要scp从machineB和machineC到machineA的文件。 我从machineA运行我的下面的shell脚本。 我已经正确设置了ssh密钥。 如果这些文件不在machineB ,那么它应该在machineC 。 #!/bin/bash readonly PRIMARY=/data01/primary/. readonly FILERS_LOCATION=(machineB machineC) readonly MAPPED_LOCATION=/bat/data/snapshot PARTITION=(0 3 5 7 9) dir1=/bat/data/snapshot/20131222 dir2=/bat/data/snapshot/20131222 scp david@${FILERS_LOCATION[0]}:$dir1/weekly_1980_[$el]_200003_5.data $PRIMARY || scp david@${FILERS_LOCATION[1]}:$dir2/weekly_1980_[$el]_200003_5.data $PRIMARY 现在我的问题是,如果你看看我的上面的scp命令,我现在有[$el] (这是错误的),我需要用PARTITIONreplace这个,这意味着我需要迭代PARTITION并将[$el]每个数字在PARTITION中。 所以我的scp命令应该看起来像这样,如果我迭代PARTITION一个 – scp david@machineB:/bat/data/snapshot/20131222/weekly_1980_0_200003_5.data /data01/primary/. || scp david@machineC:/bat/data/snapshot/20131222/weekly_1980_0_200003_5.data /data01/primary/. scp david@machineB:/bat/data/snapshot/20131222/weekly_1980_3_200003_5.data /data01/primary/. || scp david@machineC:/bat/data/snapshot/20131222/weekly_1980_3_200003_5.data /data01/primary/. scp david@machineB:/bat/data/snapshot/20131222/weekly_1980_5_200003_5.data /data01/primary/. || scp david@machineC:/bat/data/snapshot/20131222/weekly_1980_5_200003_5.data /data01/primary/. scp david@machineB:/bat/data/snapshot/20131222/weekly_1980_7_200003_5.data […]

牛羚并行和pipe道

我想发送一个文件的每一行到另一个程序的标准input,例如 input.txt中 line1 line2 line3 我想像这样使用gnu并行(即将每行作为标准input到more命令) cat input.txt | parallel –pipe more 但它回来了 /bin/bash: -c: option requires an argument /bin/bash: -c: option requires an argument /bin/bash: -c: option requires an argument /bin/bash: -c: option requires an argument /bin/bash: -c: option requires an argument /bin/bash: -c: option requires an argument /bin/bash: -c: option requires an argument […]

在运行脚本中拒绝权限

我正在运行一个脚本,但有一个不寻常的警告:这是我的控制台中发生的事情 #whoami root #ls -l test.sh -rwxr-xr-x. 1 root root 1894 Feb 2 01:58 test.sh* #./test.sh -bash: ./test.sh: Permission denied 编辑:我的脚本: #!/bin/bash while read pass port user ip file; do echo "startt————————————" $ip ping $ip -c 4 if [ $? -eq 0 ]; then echo $ip ok… else echo $ip failed… fi echo "finish————————————" $ip […]

init启动监督失败

我在我的debian 7安装中使用pip安装了主pipe。 然后我抓住这个文件,并把它移到这里: /etc/init.d/supervisord https://github.com/Supervisor/initscripts/blob/master/debian-norrgard 然后我跑了: chmod +x /etc/init.d/supervisord update-rc.d supervisord defaults 但是,当我运行命令supervisord时,程序启动正常,但是当我运行: service supervisord start 我没有任何错误或消息,但主pipe并不真正开始。 我怎样才能找出发生了什么,为什么不是开始?

Powershell:使用get-member返回对象属性

我试图浏览一个sql服务器对象中的所有项目。 我正在使用SQL服务器群集,并使用此代码(从另一个页面中解除)来获取2个特定项目的值。 [System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.Smo') | out-null; $srv = New-Object 'Microsoft.SqlServer.Management.Smo.Server' $cluster_name; $properties = $srv.Properties $owner_node = $properties.Item('ComputerNamePhysicalNetBIOS').Value; $is_clustered = $properties.Item('IsClustered').Value 这导致我想知道:我将如何浏览此对象中的其他项目? 当我尝试“$ properties | get-member”时,它只是返回: TypeName: Microsoft.SqlServer.Management.Smo.Property Name MemberType Definition —- ———- ———- CompareTo Method int CompareTo(System.Object obj) Equals Method bool Equals(System.Object o) GetHashCode Method int GetHashCode() GetType Method type GetType() ToString Method string ToString() Dirty […]

PowerShell out-gridview cmdlet要求PowerShell ISE,但已经安装

我正尝试在Windows Server 2008 R2框上使用Out-GridView cmdlet。 它抱怨说无法运行,因为我需要安装Windows Powershell集成脚本环境function。 问题是,已经安装。 不知道是什么问题或如何解决这个问题。 PS C:\Share\Jred\PowerShell> import-module servermanager PS C:\Share\Jred\PowerShell> Get-WindowsFeature PowerShell-ISE Display Name Name ———— —- [X] Windows PowerShell Integrated Scripting Environm… PowerShell-ISE PS C:\Share\Jred\PowerShell> get-process | out-gridview out-gridview : To use the Out-GridView cmdlet, install the Windows PowerShell Integrated Scripting Environment feature from Server Manager. (Could not load […]