Tag: shell

从shell脚本的目录中select随机文件的最佳方法

从shell脚本的目录中select一个随机文件的最佳方法是什么? 这里是我在Bash中的解决scheme,但是对于在Unix上使用的更便携(非GNU)版本,我会非常感兴趣。 dir='some/directory' file=`/bin/ls -1 "$dir" | sort –random-sort | head -1` path=`readlink –canonicalize "$dir/$file"` # Converts to full path echo "The randomly-selected file is: $path" 任何人有任何其他的想法? 编辑: lhunathparsingls的好处。 我想这归结于你是否想要移植或不移动。 如果你有GNU findutils和coreutils,那么你可以这样做: find "$dir" -maxdepth 1 -mindepth 1 -type f -print0 \ | sort –zero-terminated –random-sort \ | sed 's/\d000.*//g/' 噢,那很有趣! 从我说的“随机文件”来看,它更符合我的问题。 尽pipe如此,现在很难想象一个安装了GNU但不包含Perl 5的Unix系统。

从shell脚本(Unix)closuresterminal窗口?

有没有办法从一个shell脚本中closuresterminal窗口? 我有一个.command文件,一旦完成就应该避开它。

在git中抑制已删除文件的差异

我想快速了解我的存储库中的本地更改,但是我不想显示已删除文件的差异,因为每一行都是负数。 基本上,我想像'git diff HEAD <list of modified files only>' 。 在一个理想的世界里,它会在被删除和添加文件的列表之前,但不会显示它们中的差异。 我是通过编写一个这样做的实用程序的大部分方式: git diff HEAD `git status | grep modified | cut -d : -f 2` 当我想知道是否有一些合法的方式来做到这一点。 有我失踪的国旗吗? 我也很想保留颜色输出。

命令没有find当使用sudo ulimit

我正在使用Ubuntu 12.04,我运行ulimit -n,它显示1024,我想增加我的开放文件限制从1024到65535,所以我试了下面的命令: sudo ulimit -n 65535 但我得到以下错误: sudo: ulimit: command not found 如何将文件限制从1024增加到65535? 任何帮助将不胜感激。

创build一个文件夹,如果它不存在 – “项目已经存在”

我试图创build一个文件夹使用PowerShell,如果它不存在,所以我做了: $DOCDIR = [Environment]::GetFolderPath("MyDocuments") $TARGETDIR = "$DOCDIR\MatchedLog" if(!(Test-Path -Path MatchedLog )){ New-Item -ItemType directory -Path $DOCDIR\MatchedLog } 这给我错误,该文件夹已经存在,它做,但它不应该试图创build它。 我不确定这里有什么问题 New-Item:具有指定名称C:\ Users \ l \ Documents \ MatchedLog的项目已经存在。 在C:\ Users \ l \ Documents \ Powershell \ email.ps1:4 char:13 + New-Item <<<< -ItemType directory -Path $ DOCDIR \ MatchedLog + CategoryInfo:ResourceExists:(C:\ Users \ l。 … ents […]

有没有办法在Bash脚本中创build键值对?

我正在尝试使用Bash脚本创build一个键值对的字典。 我正在尝试使用这个逻辑: declare -d dictionary defaults write "$dictionary" key -string "$value" … $dictionary是一个variables,但这不起作用。 有没有办法在Bash脚本中创build键值对?

如何更新zip文件中的一个文件

是否可以replace压缩文件中的文件而不解压缩删除旧文件添加新文件并重新压缩它? 原因是我有一个zip文件,这是真的很大有一个XML文件,我有时需要更新的zip文件。 解压缩并重新压缩需要很长时间。 所以我想只能通过一个脚本来replacezip中的一个xml。 我已经有了检查我有更新的XML。 那么是否有可能只取代一个XML而不解压缩和重新压缩? 对不起,我会使用zip命令来做这样的事情,但问题是脚本实际上是一个Android手机和邮编不是一个命令,我可以使用不幸的是,我离开了这一点。 如果可以的话,我会绝对使用zip,但我只有解压缩的机器人,然后有焦油busybox但焦油不做我所需要的

Shell脚本捕获进程ID并杀死它,如果存在

我试过这个代码,它不工作 #!/bin/sh #Find the Process ID for syncapp running instance PID=`ps -ef | grep syncapp 'awk {print $2}'` if [[ -z "$PID" ]] then Kill -9 PID fi 它在awk附近显示错误。 任何build议,请。

在shell脚本中使用passwd命令

我正在编写一个shell脚本来自动添加一个新用户并更新他们的密码。 我不知道如何从shell脚本获取密码,而不是交互式地提示我input新的密码。 我的代码如下。 adduser $ 1 passwd $ 1 $ 2 $ 2

当前正在执行的powershell脚本的path

我如何在PowerShell中执行此操作。 在batch file中,我会这样做:%〜d0%〜p0