当前位置: 首页 > news >正文

推荐一个好用的命令行工具ShellGPT

ShellGPT

  • 配置安装
  • 常用功能
    • 聊天
    • 写命令并执行
  • 高级功能
    • 函数调用
    • 角色管理
  • 总结

在这里插入图片描述

  这两天突然想到,现有的很多工具都在被大模型重构,比如诞生了像perplexity.ai 这种新交互形式的搜索引擎,就连wps也推出了AI服务,甚至都可以直接生成ppt,我就想是不是shell也有类似的工具,可以帮忙写脚本,然后我就在网上检索了下,起初发现了wrap这个软件,它虽然有ai交互的功能,但也不是我想要的,后来就检索到了ShellGPT这个工具,试用了半天,发现很好用,这里写个简单的介绍教程并推荐给大家。

  ShellGPT是个开源软件,其github地址是https://github.com/TheR1D/shell_gpt,它可以帮助你快速生成 shell 命令、代码片段和文档,无需再依赖外部资源(如 Google 搜索)。

配置安装

  ShellGPT 支持 Linux、macOS、Windows 等操作系统,并兼容 PowerShell、CMD、Bash、Zsh 等主流 Shell。ShellGPT的安装很简单,直接使用pip即可:

pip install shell-gpt

  但配置相对复杂一些,主要是它必须依赖于外部大语言模型(LLM),它默认是依赖于openai (第三方模型也支持),我们就以openai配置为例,介绍下如何将ShellGPT配置运行起来。
  因为它依赖于openai的接口,所以你必须申请到openai的API KEY,可以在这里申请https://platform.openai.com/account/api-keys,然后需要在环境变量里设置好OPENAI_API_KEY 这个值,配置好openai key之后其实就已经可以运行了,它的命令是sgpt,如下:

>> sgpt "介绍下你自己"
我是ShellGPT,您的编程和系统管理助手。我在管理Darwin/MacOS 10.16操作系统,使用zsh
shell。我可以帮助您执行Shell命令,管理系统设置,解决问题,并提供有关编程和系统管理的建议。有什么我可以帮助您的
吗?

  它也提供了一些高级配置,配置文件在 ~/.config/shell_gpt/.sgptrc,具体的含义如下:

CHAT_CACHE_PATH=/var/folders/qt/945fyfdj52x11956lkf15pzw0000gn/T/chat_cache  # 聊天的缓存路径
CACHE_PATH=/var/folders/qt/945fyfdj52x11956lkf15pzw0000gn/T/cache    
CHAT_CACHE_LENGTH=100   # 缓存大小
CACHE_LENGTH=100
REQUEST_TIMEOUT=60  # 聊天超时时间
DEFAULT_MODEL=gpt-3.5-turbo  # 默认的模型,这里我为了省钱切换成gpt3.5了
DEFAULT_COLOR=magenta   # 默认颜色
ROLE_STORAGE_PATH=/Users/xindoo/.config/shell_gpt/roles  # 角色的存储路径
DEFAULT_EXECUTE_SHELL_CMD=false  # 是否自动执行shell,建议设置成false,当前gpt下shell命令的准确还是建议人工review下
DISABLE_STREAMING=false  # 禁用流式响应 
CODE_THEME=dracula  # 代码主题
OPENAI_FUNCTIONS_PATH=/Users/xindoo/.config/shell_gpt/functions  # 函数调用的存储路径,下文会详细介绍
OPENAI_USE_FUNCTIONS=true  # 是否开启函数调用
SHOW_FUNCTIONS_OUTPUT=false  # 是否展示函数调用的执行结果 
API_BASE_URL=default  # openai的服务地址,如果你买了其他比如微软提供的接口,或者其他兼容openai接口的模型,都可以改这里  
PRETTIFY_MARKDOWN=true  # 优先使用markdown格式返回 
USE_LITELLM=false

常用功能

聊天

  这是LLM最基础的功能了,有了sgpt后你就可以实现在命令行里和GPT聊天的功能了,以后摸鱼就不容易被发现了[狗头]。

>>>sgpt "讲个关于程序员的冷笑话"
为什么程序员喜欢雨天? 因为下雨时他们可以在家里“云”端编程!

  上面这种是单轮聊天,如果想通过多轮聊天解决一些比较复杂的问题,可以通过添加--repl (Read–eval–print loop)参数来开启循环响应模式。

>>> sgpt --repl chat1  # chat1是我自定义的聊天id,后续可以通过这个聊天id接着聊 
>>> 你好
你好!有什么可以帮助您的吗?
>>> 你是谁?
我是ShellGPT,您的编程和系统管理助手。您有什么问题或需要帮助的吗?
>>> 我之前问过你什么问题?
您之前问过我关于我的身份和问候的问题。您还有其他问题需要我回答吗?
>>>

  如果你不想通过循环相应模型(repl),只想单次接着之前的记录聊,可以直接使用--chat 参数

>>> sgpt --chat chat1 "复述下我之前说的内容"
你说你之前问过什么问题。

写命令并执行

  GPT诞生后,它的编码能力就已经被验证过了,当然写个脚本自然也不在话下,如果你不知道某个命令如何写,就可以直接让它帮你写出来。当然写命令所有的LLM基本上都可以实现,但是在别的地方调用,你还得把命令copy过来执行。而在sgpt下,它自动帮你生成完你直接确认就可以执行了,通过调整默认配置,你甚至可以让他自动执行。

>>> sgpt -s "统计下a.txt里有多少行文本包含关键词'xindoo'"
grep -c 'xindoo' a.txt
[E]xecute, [D]escribe, [A]bort: E  #这里输入E确定执行,D会解释这个命令,A放弃执行 
2   # 这里是命令的正常执行结果

高级功能

函数调用

  ShellGPT 允许 LLM 执行系统中的函数,从而实现更复杂的功能。例如,你可以使用函数播放音乐、打开网页或执行 shell 命令。在mac系统下,官方已经准备好了执行shell和执行apple script的函数,终端下执行sgpt --install-functions 就可以自动安装了,之后开启函数调用就可以正常使用,当然你也可以在~/.config/shell_gpt/functions路径下,定义自己的函数调用,只需要按照如下代码实现即可:

# execute_shell_command.py
import subprocess
from pydantic import Field
from instructor import OpenAISchemaclass Function(OpenAISchema):"""Executes a shell command and returns the output (result)."""shell_command: str = Field(..., example="ls -la", descriptions="Shell command to execute.")class Config:title = "execute_shell_command"@classmethoddef execute(cls, shell_command: str) -> str:result = subprocess.run(shell_command.split(), capture_output=True, text=True)return f"Exit code: {result.returncode}, Output:\n{result.stdout}"

角色管理

  ShellGPT也提供了角色管理的功能,类似于openai提供的GPTS,你可以创建自定义角色,这些角色可以用来生成代码、执行shell命令,或者满足用户的特定需求。通过使用--create-role选项并附上角色名称来创建一个新的角色。在创建过程中,你需要为角色提供一个描述以及其他一些细节。这些信息会存储在 ~/.config/shell_gpt/roles 下。在这个目录中,你还可以编辑默认的 sgpt 角色,如 shell、code 和 default。使用 --list-roles 选项可以列出所有可用的角色,而 --show-role 选项可以显示特定角色的详细信息。

  这里我们创建一个角色,它的功能就是将一个时间戳转换成yyyy-MM-dd HH:mm:s 的格式,这里我们就可以这么去做。

>>> sgpt --create-role timestamp_convert
> Enter role description: 将时间戳转化为yyyy-MM-dd HH:mm:s格式的时间,其他不要返回! # 这里输入角色的系统提示词 ## 之后我们就可以通过--role来指定特定的角色执行我们的指令了
>>> sgpt --role timestamp_convert "1714484761"
> @FunctionCall `execute_shell_command(shell_command="date -r 1714484761 '+%Y-%m-%d %H:%M:%S'")`  # 这里触发了函数调用 
2024-04-30 21:46:01    # 这里就是我们想要的结果

总结

  由于文章篇幅的原因,我挑选了大部内容做了介绍,当然ShellGPT还有一些其他的细节需要大家自行去探索。其所有的参数都可以通过sgpt --help 查看,完整的信息如下:

分类参数命令缩写/其他参数描述默认值
基本选项prompt用于生成完成的提示。
--model使用的大型语言模型。gpt-4-1106-preview
--temperature生成输出的随机性。0.0
--top-p限制最高可能的token。1.0
--md美化markdown输出。md
--editor打开$EDITOR来提供提示。no-editor
--cache缓存完成结果。cache
--version显示版本。
--help显示此消息并退出。
辅助选项--shell-s生成并执行shell命令。
--interaction--no-interactionshell选项的交互模式。interaction
--describe-shell-d描述一个shell命令。
--code-c仅生成代码。
--functions--no-functions允许函数调用。functions
聊天选项--chat跟随对话id进行会话,使用"temp"进行快速会话。None
--repl启动REPL(读取-求值-打印循环)会话。None
--show-chat显示提供的聊天id的所有消息。None
--list-chats-lc列出所有现有的聊天id。
角色选项--roleGPT模型的系统角色。None
--create-role创建角色。None
--show-role显示角色。None
--list-roles-lr列出角色。

相关文章:

推荐一个好用的命令行工具ShellGPT

ShellGPT 配置安装常用功能聊天写命令并执行 高级功能函数调用角色管理 总结 这两天突然想到,现有的很多工具都在被大模型重构,比如诞生了像perplexity.ai 这种新交互形式的搜索引擎,就连wps也推出了AI服务,甚至都可以直接生成ppt…...

Prompt提示词教程 | 提示工程指南 | 提示词示例 入门篇

在上一节中,我们介绍并给出了如何赋能大语言模型的基本示例。如果还没看而且是刚入门的同学建议看下,有个基本概念。 Prompt提示词教程 | 提示工程指南 | 提示工程简介https://blog.csdn.net/HRG520JN/article/details/138523705在本节中,我…...

uniapp + uView动态表单校验

项目需求&#xff1a;动态循环表单&#xff0c;并实现动态表单校验 页面&#xff1a; <u--form label-position"top" :model"tmForm" ref"tmForm" label-width"0px" :rulesrules><div v-for"(element, index) in tmForm…...

【Linux】HTTPS

欢迎来到Cefler的博客&#x1f601; &#x1f54c;博客主页&#xff1a;折纸花满衣 &#x1f3e0;个人专栏&#xff1a;Linux 目录 &#x1f449;&#x1f3fb;HTTPS协议概念&#x1f449;&#x1f3fb;加密为什么要进行加密 &#x1f449;&#x1f3fb;常见的加密方式对称加密…...

语音识别--使用YAMNet识别环境音

⚠申明&#xff1a; 未经许可&#xff0c;禁止以任何形式转载&#xff0c;若要引用&#xff0c;请标注链接地址。 全文共计3077字&#xff0c;阅读大概需要3分钟 &#x1f308;更多学习内容&#xff0c; 欢迎&#x1f44f;关注&#x1f440;【文末】我的个人微信公众号&#xf…...

前端JS必用工具【js-tool-big-box】,邮箱,手机,身份证号,ip地址等正则验证方法学习

这一小节&#xff0c;我们针对前端npm包 js-tool-big-box 的使用做一些讲解&#xff0c;主要是针对项目中&#xff0c;邮箱&#xff0c;手机号&#xff0c;身份证号&#xff0c;ip地址&#xff0c;url格式&#xff0c;邮政编码等验证的方法使用。 目录 1 安装和引入 2 邮箱验…...

notepad++安装 hex-editor插件

打开notepad 点击插件 搜索 hex-editor,点击右侧 安装install 安装成功后&#xff0c;在已安装插件中就有显示了...

Ubuntu18.04设置SSH密钥登录

我们一般使用 VSCode 、MobaXterm、PuTTY等 SSH 客户端来远程管理 Linux 服务器。但是&#xff0c;一般的密码方式登录&#xff0c;容易有密码被暴力破解的问题。所以&#xff0c;一般我们会将 SSH 的端口设置为默认的 22 以外的端口&#xff0c;或者禁用 root 账户登录。但是即…...

自动化运维管理工具----------Ansible模块详细解读

目录 一、自动化运维工具有哪些&#xff1f; 1.1Chef 1.2puppet 1.3Saltstack 二、Ansible介绍 2.1Ansible简介 2.2Ansible特点 2.3Ansible工作原理及流程 2.3.1内部流程 2.3.2外部流程 三、Ansible部署 3.1环境准备 3.2管理端安装 ansible 3.3Ansible相关文件 …...

零基础代码随想录【Day27】|| 39. 组合总和,40.组合总和II, 131.分割回文串

目录 DAY27 39. 组合总和 解题思路&代码 40.组合总和II 解题思路&代码 131.分割回文串 解题思路&代码 DAY27 39. 组合总和 力扣题目链接(opens new window) 给定一个无重复元素的数组 candidates 和一个目标数 target &#xff0c;找出 candidates 中所有…...

实验15 MVC

二、实验项目内容&#xff08;实验题目&#xff09; 编写代码&#xff0c;掌握MVC的用法。 三、源代码以及执行结果截图&#xff1a; inputMenu.jsp&#xff1a; <% page contentType"text/html" %> <% page pageEncoding "utf-8" %> &…...

《Python编程从入门到实践》day21

# 昨日知识点回顾 设置背景颜色 在屏幕中央绘制飞船 # 今日知识点学习 12.5 重构&#xff1a;方法_check_events()和_update_screen() 12.5.1 方法_check_events() import sys import pygame from Settings import Settings from Ship import Shipclass AlienInvasion:"…...

上位机图像处理和嵌入式模块部署(树莓派4b镜像烧录经验总结)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 陆陆续续也烧录了好多次树莓派的镜像了&#xff0c;这里面有的时候很快&#xff0c;有的时候很慢。特别是烧录慢的时候&#xff0c;也不知道是自己…...

简单数据加解密,JS和JAVA同时实现

前端Vue调用Java后端接口中的数据进行加密&#xff0c;以避免敏感数据泄露。 现在实现一个高性能加密方法&#xff0c;用来对数据进行加密后传输。算法包括JS的加密和解密方法&#xff0c;也包括Java的加密解密方法。 可以在前端加密&#xff0c;后端解密。也可以在后端加密&…...

Android Framework中PackageManagerService的深度剖析

摘要 Android操作系统的核心服务之一——PackageManagerService(PMS)&#xff0c;扮演着至关重要的角色&#xff0c;负责维护系统中所有应用程序的生命周期管理。本文旨在全面探讨PMS的功能特性、工作流程、实际应用场景&#xff0c;并对其进行优劣分析&#xff0c;以期为开发者…...

(AI Web、ChatGPT Native、Ai Loading、AI Tools、知豆AI)

目录 1、AI Web 2、ChatGPT Native 3、Ai Loading 4、AI Tools 5、知豆AI 1、AI Web...

VBA 批量处理Excel文件

目录 一. 批量创建Excel文件1.1 VBA的方式1.2 Powershell方式 二. 批量删除文件三. 批量重命名文件四. 合并多个Excel数据到一个Excel文件中 一. 批量创建Excel文件 1.1 VBA的方式 Sub CreateFiles()Dim strPath As String, strFileName As StringDim i As Long, rDim pathSe…...

PG实例连接访问控制

实例访问控制可以控制来自于不同主机&#xff0c;不同用户是否允许访问指定的数据库&#xff0c;以及验证方式。 与oracle中的连接管理器的功能相同&#xff0c;之前有写过一篇oracleCMAN连接管理器的配置实操&#xff1a; 配置oracle连接管理器&#xff08;cman&#xff09;…...

2024-05-07 商业分析-如何在社会层面做一个更好的工具人-记录

摘要: 2024-05-07 商业分析-如何成为一个靠谱的工具人 如何在社会层面做一个更好的工具人 那么今天讲的这个主题呢&#xff0c;对吧&#xff1f;你们一看啊&#xff0c;就觉得这个就不应该我讲是吧啊&#xff0c;但是呢这个逻辑呢我还得跟你们讲一下啊&#xff0c;就是如何成为…...

C++设计模式-创建型设计模式

设计模式 设计模式是什么 设计模式是指在软件开发中&#xff0c;经过验证的&#xff0c;用于解决在特定环境下&#xff0c;重复出现的&#xff0c;特定问题的解决方案&#xff1b;其实就是解决问题的固定套路。但是要慎用设计模式&#xff0c;有一定的工程代码量之后用它比较…...

code-server容器webpack的ws无法连接解决方法

TLDR 通过指定client的wsrul去连接ws devServer.client.webSocketURL ‘wss://<Forwarded uri>/ws’ 拓扑 1、code-server: 用于编写代码、启动webpack dev-server 服务&#xff1b;[https://<domain>:8001] 2、webpack: 用于浏览dev-server服务&#xff1b;[ht…...

leetcode47-Permutations II

分析 给定一个可包含重复数字的序列 nums &#xff0c;按任意顺序 返回所有不重复的全排列。 示例 1&#xff1a; 输入&#xff1a;nums [1,1,2] 输出&#xff1a; [[1,1,2], [1,2,1], [2,1,1]] 题目 由于元素是重复的&#xff0c;要求返回不重复的&#xff0c;所以一定会有…...

246 基于matlab的交流电机动态方程

基于matlab的交流电机动态方程&#xff0c;用于交流电机动态分析。输入电机的额定功率(kW)、电机的额定转速(r/min)、转子外径(m)、铁心长(m)转子槽数、电机极对数 等参数&#xff0c;输出转速变化、力矩变化等结果。程序已调通&#xff0c;可直接运行。 246 交流电机动态 转速…...

7天入门Android开发之第2天——四大组件之活动

一、活动是什么 活动&#xff08;Activity&#xff09;是 Android 应用程序中的一个重要组件&#xff0c;它代表用户界面上的单个窗口&#xff0c;通常会填充整个屏幕。通过活动&#xff0c;可以创建各种各样的用户界面&#xff0c;并控制界面的行为。活动可以包含各种 UI 元素…...

自然语言(NLP)

It’s time for us to learn how to analyse natural language documents, using Natural Language Processing (NLP). We’ll be focusing on the Hugging Face ecosystem, especially the Transformers library, and the vast collection of pretrained NLP models. Our proj…...

学习java第六十天

Advice的类型&#xff1a; &#xff08;1&#xff09;前置通知&#xff08;Before Advice&#xff09;&#xff1a;在连接点&#xff08;Join point&#xff09;之前执行的通知。 &#xff08;2&#xff09;后置通知&#xff08;After Advice&#xff09;&#xff1a;当连接点退…...

OpenFeign修改HttpClient为Apache HttpClient 5

OpenFeign中http client 如果不做特殊配置&#xff0c;OpenFeign默认使用JDK自带的HttpURLConnection发送HTTP请求&#xff0c; 由于默认HttpURLConnection没有连接池、性能和效率比较低。所以修改为Apache HttpClient 5。 总结为两步&#xff1a; 加依赖改yml 具体操作请往…...

【busybox记录】【shell指令】comm

目录 内容来源&#xff1a; 【GUN】【comm】指令介绍 【busybox】【comm】指令介绍 【linux】【comm】指令介绍 使用示例&#xff1a; 逐行比较两个排序后的文件 - 默认输出 逐行比较两个排序后的文件 - 如果一个文件的排序有问题&#xff0c;那么反错&#xff08;默认&…...

工作中遇到的问题,如何解决的

1. gorm update 一条记录的某个字段后&#xff0c;立刻&#xff08;1ms&#xff09;select这条记录&#xff0c;会有读取不到最新结果的情况&#xff1a; transaction已经提交&#xff0c;数据最后也是更新的。 猜测原因&#xff1a;MySQL没能及时把那条很大的record“刷盘”到…...

数据结构(c):队列

目录 &#x1f37a;0.前言 1.什么是队列 2. 队列的实现 2.1定义队列节点 2.2定义队列 2.3队尾入队列 2.4判断队列是否为空 2.5队头出队列 2.6 队列首元素 2.7队尾元素 2.8队列内的元素个数 2.9销毁队列 3.试运行 &#x1f48e;4.结束语 &#x1f37a;0.前言 言C之…...

Vue单页面应用和多页面应用的区别

概念&#xff1a; SPA单页面应用&#xff08;SinglePage Web Application&#xff09;&#xff0c;指只有一个主页面的应用&#xff0c;一开始只需要加载一次js、css等相关资源。所有内容都包含在主页面&#xff0c;对每一个功能模块组件化。单页应用跳转&#xff0c;就是切换…...

php扩展

查看扩展: print_r(get_loaded_extensions());判断扩展: if (!extension_loaded(gd)) {if (!dl...

mac电脑如何安装python及环境搭建

&#xff08;1&#xff09;进入官网&#xff1a;Download Python | Python.org&#xff0c;根据自己电脑选择python (2)这里我选择的是mac,点击&#xff1a;macos&#xff0c;选择最近版本并点击进入 (3)选择mac版本&#xff1a; (4)点击就可以进入下载&#xff1a; (5)下载好之…...

大数据高级阶段面试题(实时)

1.Kafka的producer如何实现幂等性? ①开启幂等性&#xff0c;将Idempotent设置为true ②将ack设置为-1&#xff0c;确保相同的消息只会发送一次&#xff0c;避免重新发送 2.Kafka的ISR和OSR的作⽤分别是什么? ISR是副本和领导者的数据和状态要保持一致&#xff0c;如果出现…...

Material Studio 计算分子静电力、电荷密度以及差分电荷密度

1.先打开Material Studio导入要计算的分子cif文件或者mol文件&#xff0c;直接Flie-Import 2.高斯几何优化一下结构&#xff0c;参数按照我的设置就行&#xff0c;一般通用&#xff0c;后面出问题再调整 3.点完Run后会跳出很多计算过程&#xff0c;不用管&#xff0c;等他计算完…...

华为鸿蒙系统(Huawei HarmonyOS)

华为鸿蒙系统&#xff08;华为技术有限公司开发的分布式操作系统&#xff09; 华为鸿蒙系统&#xff08;HUAWEI HarmonyOS&#xff09;&#xff0c;是华为公司在2019年8月9日于东莞举行的华为开发者大会&#xff08;HDC.2019&#xff09;上正式发布的分布式操作系统。 华为鸿蒙…...

docker jenkins 部署springboot项目

1、创建jenkins容器 1&#xff0c;首先&#xff0c;我们需要创建一个 Jenkins 数据卷&#xff0c;用于存储 Jenkins 的配置信息。可以通过以下命令创建一个数据卷&#xff1a; docker volume create jenkins_data启动 Jenkins 容器并挂载数据卷&#xff1a; docker run -dit…...

记录一个练手的js逆向password

很明显 请求加密了password 全局搜索 有个加密函数(搜不到的可以搜临近的其他的关键字 或者url参数) 搜索的时候一定要仔细分析 我就没有仔细分析 我搞了好久 又是xhr又是hook的(还没hook到) 我当时也是疏忽了 我寻思这个也不是js文件 直到后来 我怎么也找不到 我就猜想 不…...

如何低成本创建个人网站?

目录 前言 网站源代码 虚拟主机或服务器 域名注册或免费二级域名 域名解析 上传源代码压缩包 添加刚刚的域名 成功搭建 失败的解决方案 结语 前言 很多小白都非常想拥有自己的网站&#xff0c;但很多人虽然有了自己的源代码但苦于不知道怎么将其变成所有人都能够访…...

Finder Windows for Mac:双系统窗口,一键切换!

Finder Windows for Mac是一款专为Mac用户设计的实用工具&#xff0c;它模拟了Windows系统的窗口管理功能&#xff0c;让Mac用户也能享受到类似Windows的窗口操作体验。这款软件的主要功能是提供一个浮动面板&#xff0c;帮助用户随时即时访问打开的Finder窗口列表&#xff0c;…...

Hadoop3:集群搭建及常用命令与shell脚本整理(入门篇,从零开始搭建)

一、集群环境说明 1、用VMware安装3台Centos7.9虚拟机 2、虚拟机配置&#xff1a;2C&#xff0c;2G内存&#xff0c;50G存储 3、集群架构设计 从表格中&#xff0c;可以看出&#xff0c;Hadoop集群&#xff0c;主要有2个模块服务&#xff0c;一个是HDFS服务&#xff0c;一个是…...

yolo-world:”目标检测届大模型“

AI应用开发相关目录 本专栏包括AI应用开发相关内容分享&#xff0c;包括不限于AI算法部署实施细节、AI应用后端分析服务相关概念及开发技巧、AI应用后端应用服务相关概念及开发技巧、AI应用前端实现路径及开发技巧 适用于具备一定算法及Python使用基础的人群 AI应用开发流程概…...

vue3 + ts 快速入门(全)

文章目录 学习链接1. Vue3简介1.1. 性能的提升1.2.源码的升级1.3. 拥抱TypeScript1.4. 新的特性 2. 创建Vue3工程2.1. 基于 vue-cli 创建2.2. 基于 vite 创建&#xff08;推荐&#xff09;vite介绍创建步骤项目结构安装插件项目结构总结 2.3. 一个简单的效果Person.vueApp.vue …...

vue2实现面包屑功能

目录 1. store/index.js 2. router/index.js 3. Header.vue 在Vue 2中实现面包屑导航是一种常见的前端实践&#xff0c;它可以帮助用户了解当前页面在网站结构中的位置&#xff0c;并快速导航到上一级或根目录。以下是使用Vue 2实现面包屑导航的基本步骤&#xff1a; 1. st…...

helm安装 AWS Load Balancer Controller

1、创建AmazonEKSLoadBalancerControllerRole角色 亚马逊文档 创建文档 2&#xff09;、使用 eksctl 创建 IAM 角色 a、安装eksctl eksctl安装文档 使用以下命令下载并提取最新版本的 eksctl curl --silent --location "https://github.com/weaveworks/eksctl/releases/l…...

贪吃蛇大作战(C语言--实战项目)

朋友们&#xff01;好久不见。经过一段时间的沉淀&#xff0c;我这篇文章来和大家分享贪吃蛇大作战这个游戏是怎么实现的。 &#xff08;一&#xff09;.贪吃蛇背景了解及效果展示 首先相信贪吃蛇游戏绝对称的上是我们00后的童年&#xff0c;不仅是贪吃蛇还有俄罗斯⽅块&…...

谷歌确认:链接并不那么重要

谷歌的 Gary Illyes 在最近的一次搜索营销会议上证实&#xff0c;谷歌只需要很少的链接&#xff0c;这为出版商需要关注其他因素提供了越来越多的证据。Gary 在推特上证实了他确实说过这些话。 排名链接的背景 20 世纪 90 年代末&#xff0c;搜索引擎发现链接是验证网站权威性…...

python基础--修饰器

修饰器(语法糖) 在python中函数实际上就是一个对象 def outer(x):def inner(y):return x yreturn innerprint(outer(6)(5))def double(x):return x * 2 def triple(x):return x * 3def calc_number(func, x):print(func(x))calc_number(double, 3) calc_number(triple, 3)函…...

6. Z 字形变换

题目描述 给你一个字符串s和行数numRows&#xff0c;把s字符串按照z字形重新排列。 再从左往右进行读取&#xff0c;返回读取之后的字符串。 本题是找规律&#xff0c;但是没有找出来 解题思路 要想解出来该题&#xff0c;在进行z字变换的时候&#xff0c;我们把字符串的下…...

shell常用文件处理命令

1. 解压 1.1 tar 和 gz 文件 如果你有一个 .tar 文件,你可以使用以下命令来解压: tar -xvf your_file.tar在这个命令中,-x 表示解压缩,-v 表示详细输出(可选),-f 后面跟着要解压的文件名。 如果你的 .tar 文件同时被 gzip 压缩了(即 .tar.gz 文件),你可以使用以下…...