Articles of shell

有用的方法来使用随机壳variables?

创build虚拟数据显然是好的; 也可以用来生成密码(虽然我相信你必须小心在这里真正的“随机性”)。 您遇到的其他任何有用的用途?

最好的FTP传输脚本

我正在寻找一个强大的FTP传输脚本,我可以用cron,任何build议? 我会喜欢Python中的脚本,可以在后台运行。

makefile的shell模式扩展:怎么样?

我发现了一个有趣的“function” DIR_INPUT = /testing testing: #testingdate(应该是昨天) testing! -z“$ {DATE}” ls -lad $ {DIR_INPUT} / {a,c} 但它似乎以一种奇怪的方式工作: 提示#进行testing #testingdate(应该是昨天) testing! -z“20100120” ls -lad / test / {a,c} / test / {a,c}:没有这样的文件或目录 ***错误代码2 make:致命错误:命令对目标`test'失败 提示# 当然,如果我从我的shell工程中发出ls -lad / test / {a,c} 。 问题:我怎么才能做出评估这个模式的shell呢?

在需要时自动安装分区

任何人都可以提出一个挂载分区(例如NFS共享)的方法,当用户更改到它被设置为要挂载到的目录,而不是在系统启动? 到目前为止,我一直无法提出这样一种方法,除了编辑BASH内置的cd实现,并在实际更改工作目录之前强制执行fstab / mtab检查。

如何用/ bin / false shell执行

我试图设置每个用户fastcgi脚本,将运行每个不同的端口和不同的用户。 这里是我的脚本的例子: #!/bin/bash BIND=127.0.0.1:9001 USER=user PHP_FCGI_CHILDREN=2 PHP_FCGI_MAX_REQUESTS=10000 等等… 但是,如果我添加用户/ bin / false(我想要的,因为这将是像共享主机,我不希望用户有shell访问),该脚本运行在1001,1002'用户'正如我的谷歌search显示,这可能是一个安全漏洞。 我的问题是:是否有可能允许用户执行shell脚本,但禁用它们,所以他们不能通过SSHlogin?

Glassfish安装错误:无法打开显示

当试图提取Glassfish的jar文件 java -Xmx256m -jar glassfish-installer-v2.1-b60e-linux.jar 我得到以下错误: (.:31766): Gtk-WARNING **: cannot open display: 并没有发生提取。 它以某种方式假定我在一台真正的机器上,而不是一个SSH shell。 我如何解决这个问题?

仅在目标不存在的情况下重命名/移动文件

我想知道是否有任何方法可以移动文件只有当目的地不存在 – 换句话说,只有当它不会导致覆盖移动。 mv –update 似乎首先是解决scheme,但是,如果源path的时间戳比目标更新,则移动将覆盖它,并且所有尝试通过在移动失败之前修改时间戳来规避此问题。 我需要这种行为来实现一个简单的基于文件的锁,其中“锁”文件的存在表示获取锁。

Powershell的帮助:有一个“磁盘空间”脚本链接…但我怎么使用它?

编辑:问题已经回答,看我的底部我的最后脚本… 男人,我是Powerhell noob … 我有这个链接: http://gallery.technet.microsoft.com/ScriptCenter/en-us/da3fee00-e79d-482b-91f2-7c729c38068f 我想用它来获取服务器列表,在列表中运行它,然后获取每个服务器的磁盘空间类似于的报告: SERVER1 C:总计= 120GB可用空间= 60GB D:总计= 400GB可用空间= 200GB 等等 问题是… 我不知道如何处理该链接上的脚本来使其工作。 复制/粘贴到记事本并保存为.ps1 ?? 在描述中似乎不是那样的。 如果我从我的Win7中使用PS运行它,还是每台服务器都必须安装Powershell以使远程PS脚本能够正常工作,它会起作用吗? 有没有办法设置脚本来给我发电子邮件? 这样我可以把它设置为每周的任务或类似的。 谢谢! ======== 最终脚本 function Get-FreeDisk { [CmdletBinding()] param( [Parameter(Position=0, ValueFromPipeline=$true)] [string[]]$Computername="localhost", [int] [ValidateRange(0,100)] $MinPercFree = 100, [Management.Automation.PSCredential]$Credential = ([Management.Automation.PSCredential]::Empty) ) begin{ [String[]]$computers = @() } process{ $computers += $Computername } end{ Get-WmiObject […]

Linux shell脚本:删除名称中没有“01”的所有文件

我有一个备份脚本,用于创build以创builddate命名的文件,格式为backups_YYYYMMDD.tar.gz 我目前使用如下命令清除30天以上的所有内容: find /backups -mtime +30 -name "backups_????????.tar.gz" -delete 我怎样才能改变这个只清除那个月的第一个月没做的文件? 即任何匹配“备份_ ?????? 01.tar.gz”的东西仍然存在。

从网页创build插件域

我有一个启用了CPanel和Suphp的VPS(CentOS)。 Apache / 2.0.63(Unix)mod_ssl / 2.0.63 OpenSSL / 0.9.8e-fips-rhel5 mod_auth_passthrough / 2.1 mod_bwlimited / 1.4 FrontPage / 5.0.2.2635 mod_fcgid / 2.3.5 作为一个根,我创build了一个帐户,并为其设置了一个域。 现在我可以login到该帐户的CPanel并创build插件域。 对于我的项目,我想让我的网站的访问者从我的PHP脚本做同样的事情(创build插件域)。 我是一名PHP开发人员,而且我的Linuxpipe理经验非常有限。 我可以使用system()或类似的PHP函数来调用一个命令文件,但是这个命令文件应该包含什么? 我相信必须有一些用户授权和必要的东西来改变configuration文件…请指教。 谢谢。