Tag: shell

检查一个string是否与Bash脚本中的正则expression式匹配

我的脚本收到的一个参数是以下格式的date: yyyymmdd 。 我想检查一下,如果我得到一个有效的date作为input。 我该怎么做? 我正在尝试使用正则expression式: [0-9]\{\8}

在脚本执行后避免gnome-terminalclosures?

我创build了一个bash脚本,可以打开几个gnometerminal,通过ssh连接到教室电脑并运行脚本。 脚本完成后,如何避免gnome-terminalclosures? 请注意,我也希望能够在terminal中input更多的命令。 这是我的代码的一个例子: gnome-terminal -e "ssh root@<ip> cd /tmp && ls"

如果整行匹配,如何使grep只匹配?

我有这些: $ cat a.tmp ABB.log ABB.log.122 ABB.log.123 我想findABB.log的完全匹配。 但是当我做到了 $ grep -w ABB.log a.tmp ABB.log ABB.log.122 ABB.log.123 它显示了所有这些。 我能用grep得到我想要的吗?

Linux:复制并创build目标目录,如果它不存在

我想要一个命令(或者可能是cp的一个选项)创build目标目录,如果它不存在。 例: cp -? file /path/to/copy/file/to/is/very/deep/there

使用脚本自动inputSSH密码

我需要创build一个自动input密码给OpenSSH ssh客户端的脚本。 假设我需要使用密码a1234b进入myname@somehost SSH。 我已经试过了… #~/bin/myssh.sh ssh myname@somehost a1234b …但这不起作用。 我怎样才能得到这个function到脚本?

如何让PowerShell在开始下一个之前等待每个命令结束?

我有一个PowerShell 1.0脚本来打开一堆应用程序。 第一个是虚拟机,其他的是开发应用程序。 我希望虚拟机在其他应用程序打开之前完成引导。 在bash中,我只能说"cmd1 && cmd2" 这是我的… C:\Applications\VirtualBox\vboxmanage startvm superdooper &"C:\Applications\NetBeans 6.5\bin\netbeans.exe"

在Bash脚本中的范围内的随机数

我需要从shell脚本生成一个2000-65000之间的随机端口号。 问题是$RANDOM是一个15位数字,所以我卡住了! PORT=$(($RANDOM%63000+2001))如果不是用于大小限制,将会很好地工作。 有没有人有我如何能做到这一点的例子,也许从/dev/urandom提取一些东西,并在一个范围内?

bash / fish命令打印文件的绝对path

问题:是否有一个简单的sh / bash / zsh / fish / …命令来打印我提供的文件的绝对path? 用例:我在/a/b目录下,我想在命令行上打印文件c的完整path,以便我可以轻松地将它粘贴到另一个程序: /a/b/c 。 简单,但一个小程序来做到这一点可能会节省我5秒左右的时间来处理长path,最后加起来。 所以我很惊讶,我找不到一个标准的工具来做到这一点 – 真的没有? 这是一个示例实现,abspath.py: #!/usr/bin/python # Author: Diggory Hardy <diggory.hardy@gmail.com> # Licence: public domain # Purpose: print the absolute path of all input paths import sys import os.path if len(sys.argv)>1: for i in range(1,len(sys.argv)): print os.path.abspath( sys.argv[i] ) sys.exit(0) else: print >> […]

YYYY-MM-DD格式的date在shell脚本中

我试着在我的bash shell脚本中使用$(date) ,但是我想用YYYY-MM-DD格式的date。 我如何得到这个?

如何通过双击在OS X中运行一个shell脚本?

我有一个在OS X上有用户执行权限的shell脚本,但是当我双击它时,它会在文本编辑器中打开。 我怎样才能通过双击运行它?