Articles of shell

Powershell脚本问题

我在下面的脚本有一个错误: $server_names = Get-Content "C:\ArchivedFolders.txt" Foreach ($server in $server_names){ Copy-Item "\\$server\C$\Mail\*" -Destination "\\10.100.101.50\mail\$server\" -Recurse } 该脚本的目的是复制文件从众多的文件夹,并将其放置到许多其他文件夹。 错误在下面。 Copy-Item : Cannot retrieve the dynamic parameters for the cmdlet. Illegal characters in path. At C:\mass_fetch.ps1:3 char:23 + Copy-Item <<<< "\\$server\C$\Mail\*" -Destination "\\10.100.101.50\mail\$server\" -Recurse + CategoryInfo : InvalidArgument: (:) [Copy-Item], ParameterBindingException + FullyQualifiedErrorId : GetDynamicParametersException,Microsoft.PowerShell.Commands.CopyItemCommand 我哪里做错了?

sftp:通过mtime获取文件

目的: 使用-b选项,用非常简单的脚本连接到sftp服务器,cd到目录,并获取具有最新修改时间或创build时间的文件。 我可以连接和下载* .csv,但可能会下载一打; 我可以提供文件名称的一部分,但每月更改,所以我认为最好的解决scheme是mtime。 谢谢!

#!/ usr / bin / expect不工作

这可能是一个简单的问题,但是有一个简单的期望脚本,我已经添加了可执行位,似乎忽略了#!/ usr / bin / expect解释器行。 此外,似乎variables没有被设置,因为当我回应他们时,他们是空白的… #!/usr/bin/expect -f set device "1.1.1.1" set user "testuser" spawn ssh $user@$device echo $device echo $user ls -lh -rwxr-xr-x root root testexpect.exp 感谢您的帮助社区! PS我正在运行Debian Wheezy,通过apt-get install期待安装expect …谢谢

根据容器名称更改shell提示?

我一直在使用Linux容器做很多工作,而且我一直在忘记屏幕上的哪个terminal在哪个容器中运行,特别是当我把它们放在一个晚上的时候。 我如何更改shell提示符或基于shell运行的容器的terminal标题? 这是一个普遍的问题,但是如果它在Arch上运行systemd-nspawn和kde ,那将会很棒。

Powershell查询代码

我在编写一些PowerShell代码时遇到问题。 我试图对Active Directory运行一个查询,它将把每个用户的所有组,成员,电子邮件地址和SID导出到一个CSV文件中。 它必须是recursion的,以便在组内search组。 十分感谢你的帮助! 我是新来的。 我目前的代码只显示特定组的名称: Import-Module ActiveDirectory $scriptPath = split-path -parent $MyInvocation.MyCommand.Definition $Group = Get-ADGroupMember -identity “Group distinguishedname” -Recursive $Group | get-aduser -Properties mail |select name,samaccountname,mail |export-csv -path $scriptPath\Members.csv -NoTypeInformation

比较三个目录与PowerShell

想要比较3个DFS目录。 helios456为两个目录写了一个很好的脚本,我尝试修改以适应我的需要,但已经撞到一堵砖墙。 Winmerge,超越比较和diffmerge只做2。 任何帮助都是极好的。 $folder1 = "C:\Folder1" $folder2 = "C:\Folder2" # Get all files under $folder1, filter out directories $firstFolder = Get-ChildItem -Recurse $folder1 | Where-Object { -not $_.PsIsContainer } $failedCount = 0 $i = 0 $totalCount = $firstFolder.Count $firstFolder | ForEach-Object { $i = $i + 1 Write-Progress -Activity "Searching Files" -status "Searching File […]

不能更改solaris 8中的默认shell

我有一个情况。 我们有Solaris 8机器。 对于每个用户,我们必须将shell从/ bin / sh更改为… / sdshell。 到目前为止,我们一直在通过手动编辑/ etc / passwd文件来做到这一点。 有没有更好的方法来做到这一点? 因为我正在尝试编写脚本来完成这些任务。 我曾经尝试过: useradd -s …它不工作,它说壳是无效的。 我也将shell添加到/ etc / shells文件中。 但是我们可以修改密码文件,它工作正常。 或者有什么办法来改变默认的shell。 我遇到了一个/ usr / sdam / defadduser文件。 但我不确定 请帮忙。 谢谢

如何在后台发送一组命令

我正在编写自己的通用init脚本,我已经从各处采取策略,并提出了 trap 'kill $(jobs -p)' EXIT; until $DAEMON $DAEMONOPTS > /var/log/${NAME}.log 2>&1 & wait ; do echo "Server '$NAME' crashed with exit code $?. Respawning.." > /var/log/${NAME}.log 2>&1 & echo $! sleep 1 done 它停止正确杀死subprocess,如果死亡则重启服务。 现在我必须将这段代码作为后台作业而不是直接启动) 我已经testing过的简单解决scheme就是将这个部分移到自己的脚本中。 然而,我想知道是否有办法将这些命令分组并将它们发送到后台,而不需要第二个shell脚本来移动。 理想情况下,我想把它作为一个要点,所以它应该都在一个单一的文件。 这甚至有可能吗?

powershell recurse删除子文件夹中的文件

我正在尝试编写一个脚本,以便在path下的子文件夹中search具有不同扩展名的重复的基本文件名。 例如,一个文件夹可能包含file1.zip和file1.pdf,我只想删除文件夹内的重复文件。 我来到这将只会在pathvariables设置的path。 向Get-Child Item添加-recurse似乎不起作用。 $Path = "C:\logs" ForEach ($File in (Get-ChildItem $Path\*.pdf)) { If ((Test-Path "$Path\$($File.Basename).zip")) { $File | Remove-Item } } 有关如何让这个逻辑适用于所有子文件夹的任何build议?

脚本在terminal工作,但不是.sh

我有一个脚本,在terminal完美工作,但出于某种原因不会在cron或我手动运行脚本时发射。 我不知道它是否有所作为,但它运行在Asustor NAS设备上。 这是脚本 #!/bin/bash tar cvf reachdata_$(date +'%Y_%m_%d').tar /volume1/reachdata