我们在写shell脚本时,有时候需要根据某个命令是否存在来决定是否执行某些操作,可以有两种方法来判断命令是否存在,参考代码如下:
判断linux命令是否存在,方法1:
#!/bin/bash
if which mycmd /dev/null 21; then
echo mycmd exists
else
echo mycmd not exists
fi
判断linux命令是否存在,方法2:
#!/bin/bash
if ! command -v mycmd /dev/null 21; then
echo mycmd not exists
else
echo mycmd exists
fi
1

站心网
我们在写shell脚本时,有时候需要根据某个命令是否存在来决定是否执行某些操作,可以有两种方法来判断命令..
为您推荐

如何选择更适合你的 Linux 发行版?
互联网
2025年03月15日
很多人经常会问我这样一个问题:“嘿,你是用Linux的,对吧?我应该使用Linux的哪个版本?我有这个朋友推荐我_____,你觉得怎么样?”我通常会以这样的问题回复:这取决于你想做什么?今天我决定写一篇关于如何选择L..
7大Git实用技巧和命令总结
编程语言
2025年03月15日
Git 是一个非常强大的工具,它包含丰富的工具用以维护项目。本文介绍了一些 Git 日常使用过程中的实用技巧和命令,希望这些内容能够对大家有所帮助。Git diff通常情况下,我们会在自己的独立分支中完成需求开发,此..
VS创建.NET Core项目使用Docker方式部署到Linux服务器
.NET
2025年03月15日
在 Visual Studio(VS) 中,使用 Docker 方式部署 .NET Core 项目 到 Linux 服务器,可以简化环境管理并提高部署效率。以下是完整教程:1. 在 VS 创建 .NET Core 项目并启用 Docker新建 ASP.NET Core 项目打开 Visu..
ASP.NET如何将Views文件夹从项目分离
程序笔记
2024年12月19日
将 Views 文件夹从 ASP.NET 项目中分离是一个常见需求,比如为了实现模块化或分层架构。以下是实现此功能的完整步骤,从项目中分离 Views 文件夹,将其移到另一个独立的文件夹或项目中,并确保视图渲染仍然正常。1. ..

如何让AI写出Google认可的文章?
程序笔记
2024年12月11日
让 AI 写出 Google 认可的文章,核心在于满足 Google 的搜索排名算法要求。这些要求通常围绕以下几个关键点展开:内容质量、用户体验 和 SEO 优化。以下是详细指导:一、内容质量确保文章原创且有价值避免抄袭:Goog..
如何从.NET Framework迁移到.NET Core或.NET 6/7?
程序笔记
2024年12月05日
从 .NET Framework 迁移到 .NET Core 或 .NET 6/7 是一个提升性能和跨平台能力的关键过程。以下是迁移的主要步骤和注意事项:迁移步骤1. 评估当前项目依赖项检查:确保所有第三方库和NuGet包都有与 .NET Core/.NET 6..
如何优化ASP.NET Core应用的性能?
程序笔记
2024年12月05日
优化ASP.NET Core应用性能需要从代码、数据库、配置、服务器和部署等多个层面进行综合考虑。以下是一些优化ASP.NET Core应用性能的关键方法和技巧:1. 代码级优化使用异步编程:避免阻塞线程,通过async和await处理I..
Git 常用命令总结
程序笔记
2024年11月30日
基础命令初始化一个Git仓库:git init添加到暂存区:git add <file>提交到本地仓库:git commit -m <message>仓库版本号切换:git reset --hard commit_id查看提交历史:git log查看历史命令:git reflog丢弃工作区..

chrome 开发者工具如何查看元素:hover时的样式
程序笔记
2024年11月06日
在 Chrome 开发者工具中查看元素的 :hover 样式,可以通过以下步骤实现:打开开发者工具:右键点击页面中的元素,然后选择“检查(Inspect)”或按下 F12 或 Ctrl + Shift + I (Windows) / Cmd + Option +..
如何防止web应用DOS攻击?
程序笔记
2024年10月20日
防止web应用DOS攻击的最好的方法是什么? 如何防止web应用DOS攻击? 与所有的拒绝服务(DOS)攻击相关的一件事是他们都不可能避免。最好的方法是把重点放在减少影响DOS攻击的方法上。如果你有一个网络,黑客想要玩一玩..
数据库SQL Server2014和SQL Server2019的区别和如何选择?
程序笔记
2024年10月20日
SQL Server 2014和SQL Server 2019是微软公司发布的两个版本的数据库管理系统,它们在性能、安全性以及可扩展性等方面各有特点。在选择这两个数据库版本时,需要根据系统需求、预算状况以及技术团队的熟悉程度等因素..
宝塔里mysql停止了自动启用脚本
程序笔记
2024年10月19日
mysql突然停止的原因有多种,这里不列举,可以排查具体原因。如果停止后,还可以手工正常启用mysql,那可以考虑把shell脚本添加到宝塔的计划任务里,定时每隔几分钟检测一次,让mysql自动检测停止后立马启用。ps=`ps..
判断 nginx 服务是否启动,未启动自动重启 shell脚本
程序笔记
2024年10月19日
我的是宝塔面板直接上代码nginx_procnum=`ps -ef|grep "nginx"|grep -v grep|wc -l`if [ $nginx_procnum -eq 0 ]then echo "start nginx..." /etc/init.d/nginx startelse echo "no cmd" fi然后添加定时任务;每分钟..
宝塔里redis停止了自动启用脚本
程序笔记
2024年10月19日
redis突然停止的原因有多种:1、内存不足,如果Redis使用的内存超过了服务器可用内存,操作系统会自动杀死Redis进程。2、服务器的资源限制(ulimit)比较低,Redis可能会因为无法打开足够的文件描述符而停止。3、其..
仓库# 在当前目录新建一个Git代码库$ git init# 新建一个目录,将其初始化为Git代码库$ git init [project-name]# 下载一个项目和它的整个代码历史$ git clone [url]配置# 显示当前的Git配置$ git config --list# 编..
MySQL如何建数据库
程序笔记
2024年10月16日
MySQL是一款非常流行的关系型数据库管理系统。无论是在企业还是个人项目中,都经常使用MySQL数据库。在使用MySQL之前,需要先创建一个数据库。本文将介绍如何建立MySQL数据库。一、安装MySQL在开始建立MySQL数据库之..
jwt是什么?.NET Core API如何使用JwtBearer验证
程序笔记
2024年10月12日
JWT是JSON Web Token的缩写,是一种开放标准(RFC 7519),用于在网络上以安全和可靠的方式传输信息。它是一种被广泛使用的跨域身份验证解决方案,可以将用户信息、访问权限等加密后存储在Token中,然后通过网络传输..
.NET Core MVC判断是否是ajax请求
程序笔记
2024年10月11日
在ASP.NET Core MVC中,可以通过检查请求头中是否包含X-Requested-With标头来判断请求是否为Ajax请求。可以使用以下代码来检查:if(Request.Headers["X-Requested-With"] == "XMLHttpRequest"){// 处理Ajax请求的逻..
什么是微服务架构?它与单体应用程序架构有什么区别?如何在.NET中实现微服务架构?
程序笔记
2024年10月08日
微服务架构是一种软件架构风格,通过将应用程序拆分为一组小型、自治的服务来构建应用程序。每个服务都专注于解决特定的业务功能,并通过轻量级的通信机制进行交互。这些服务可以独立开发、部署和扩展,可以使用不同..
winform如何隐藏边框和标题栏
程序笔记
2024年10月07日
在WinForms中,可以通过以下步骤来隐藏窗体的边框和标题栏:打开WinForms应用程序的窗体设计器。选择窗体控件,然后在属性窗口中找到FormBorderStyle属性。将FormBorderStyle属性设置为None,以指示窗体不显示边框。..