我正在使用docker-machine
来管理我的云服务器。我正在编写一些bash脚本来自动执行某些任务。问题是:“如果已存在具有特定名称的docker机器,如何检入bash脚本?”。我需要一些表达式,如果它存在则返回true,如果不存在则返回false。
由于
答案 0 :(得分:13)
如果正则表达式足够好,只需通过grep运行即可。例如,如果你有一台名为foo的机器:
extension UIView {
func addTopBorderWithColor(color: UIColor, width: CGFloat) {
let border = CALayer()
border.backgroundColor = color.cgColor
border.frame = CGRect(x: 0, y: 0, width: self.frame.size.width, height: width)
self.layer.addSublayer(border)
}
func addRightBorderWithColor(color: UIColor, width: CGFloat) {
let border = CALayer()
border.backgroundColor = color.cgColor
border.frame = CGRect(x: self.frame.size.width - width, y: 0, width: width, height: self.frame.size.height)
self.layer.addSublayer(border)
}
func addBottomBorderWithColor(color: UIColor, width: CGFloat) {
let border = CALayer()
border.backgroundColor = color.cgColor
border.frame = CGRect(x: 0, y: self.frame.size.height - width, width: self.frame.size.width, height: width)
self.layer.addSublayer(border)
}
func addLeftBorderWithColor(color: UIColor, width: CGFloat) {
let border = CALayer()
border.backgroundColor = color.cgColor
border.frame = CGRect(x: 0, y: 0, width: width, height: self.frame.size.height)
self.layer.addSublayer(border)
}
}
应该工作并返回0.插入符号匹配行的开头,空格避免部分匹配。如果不匹配,您将获得非零返回码。
答案 1 :(得分:9)
您可以使用以下内容:
docker-machine status some-machine 2> /dev/null || echo "Machine does not exists"
答案 2 :(得分:1)
不是脚本大师,但我会做一个“docker-machine help
”,如果此命令运行且退出代码($?)为零,则docker-machine可执行文件可用且正常运行。
如果返回代码为127(通常由bash发现未找到命令)或非零以外的任何内容,则可以假设未安装docker-machine或未正常运行。