【嵌入式开发 Linux 常用命令系列 14.1 -- .bashrc 定义函数】


上篇文章:【嵌入式开发 Linux 常用命令系列 14 – source hello.sh 和 ./hello.sh 的区别】

文章目录

  • .bashrc 定义函数

.bashrc 定义函数

.bashrc 文件中定义别名时,通常不能直接传递参数。别名是用于创建命令的简写形式,它们不支持参数。然而,如果你需要使用参数,你可以定义一个 shell 函数并将其放在你的 .bashrc 文件中。

例如,如果你想创建一个别名来使用 grep 命令,并且想要传递一个参数(比如要搜索的模式),你可以在 .bashrc 中这样做:

# 在 .bashrc 文件中定义一个函数作为别名 
mygrep() { grep "$1" "${@:2}" 
} 
# 每次打开新的 shell 时,重新加载 .bashrc 
alias reloadbashrc='source ~/.bashrc' 

在这个示例中,mygrep 函数的第一个参数 "$1" 被用作 grep 的模式,而 "${@:2}" 表示从第二个参数开始的所有参数,这些参数将被传递给 grep 命令。

保存你的 .bashrc 文件后,你需要重新加载它以使更改生效。你可以关闭并重新打开你的终端,或在终端中运行以下命令:

source ~/.bashrc 

现在,你可以像使用别名一样使用 mygrep 函数,并传递参数给它:

mygrep "pattern_to_search" /path/to/file_or_directory 

这会调用 grep 并搜索指定的模式。通过这种方式,你可以使用函数来模拟接收参数的别名。

例子二
由于每次登录服务器上的FPGA,都需要执行ssh sam@fpga$1.armtech.cn 命令,很是麻烦。所以就在.bashrc 中定义了fpga函数,并根据传入的参数来选择登录哪台FPGA。

function fpga {sshpass -p Sam\$xxx ssh sam@fpga$1.armtech.cn
}

这类 sshpass 命令用于在命令行中输入密码。

上篇文章:【嵌入式开发 Linux 常用命令系列 14 – source hello.sh 和 ./hello.sh 的区别】

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/225900.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

人工智能联盟的首件神兵利器——“Purple Llama” 项目,旨为保护工智能模型安全性

Meta公司(Meta Platform Inc),原名Facebook,创立于2004年2月4日,市值5321.71亿美元。总部位于美国加利福尼亚州门洛帕克。 Meta 公司推出了名为“Purple Llama”的项目,旨在保护和加固其开源人工智能模型。…

WINCC8.0脚本调试方法

前言 WINCC是西门子推出的过程可视化系统(SCADA),是基于PC的HMI系统,兼容WINDOWS各种系统,除了强大的图形系统之外,WINCC还具有在线历史趋势、报警记录、用户管理、用户归档等高级功能,而且WINC…

华为OD机试真题-考古学家-2023年OD统一考试(C卷)

题目描述: 有一个考古学家发现一个石碑,但是很可惜,发现时其已经断成多段,原地发现n个断口整齐的石碑碎片。为了破解石碑内容,考古学家希望有程序能帮忙计算复原后的石碑文字组合数,你能帮忙吗? 输入描述: 第一行输入n,n表示石碑碎片的个数。 第二行依次输入石碑碎片上…

什么是PHP的SOLID原则?

SOLID 是面向对象编程(OOP)中的五个设计原则的首字母缩写,这些原则有助于创建可维护、灵活且可扩展的软件。以下是 SOLID 原则的概述: 单一职责原则(Single Responsibility Principle - SRP): 一…

[Angular] 笔记1:开发设置 , 双向绑定

1 设置开发环境 1.1 安装 node 下载 node,因为要使用 npm 工具,教程中使用 Angualr 14, 最新版 node 20 用不了,安装 node 16 就可以。 1.2 安装 Angular CLI Angular CLI 是用于创建 Angular 工程的工具集,使用如下命令&…

(第61天)多租户架构(CDB/PDB)

背景介绍 Oracle 的 CDB 和 PDB 是 Oracle 12C 及以上版本中引入的新概念,用于管理多租户数据库环境。 Oracle 数据库是商业数据库领域中的翘楚,其强大的功能和高可靠性备受企业用户追捧。而随着云计算和大数据时代的到来,Oracle 也不断推出新的技术以适应这些变化。CDB 技…

我为什么要当程序员?

阿七毕业于上海一所大学的管理学院,在读期间没写过一行 Java 代码。 管理学院,你出来能干啥呀?什么公司,会让你一个刚毕业的学生当管理呢?所有我们学院的同学,很多都跨科目考研、出国、创业。 家里没钱的…

【leetcode】链表总结

说明:本文内容来自于代码随想录 链表基本操作 https://leetcode.cn/problems/design-linked-list/ 删除节点 https://leetcode.cn/problems/remove-linked-list-elements/description/,删除节点,虚拟头节点。定义两个节点,分别…

『OPEN3D』1.5.2 动手实现点云栅格/体素最近邻

本专栏地址: https://blog.csdn.net/qq_41366026/category_12186023.html?spm=1001.2014.3001.5482 NEARBY6实现的voxel可视化 一种NEARBY14实现的可视化voxel

【LeetCode每日一题】152. 乘积最大子数组

题目: 给你一个整数数组 nums ,请你找出数组中乘积最大的非空连续子数组(该子数组中至少包含一个数字),并返回该子数组所对应的乘积。 思路 由于做了53. 最大子数组和 下意识觉得求出所有元素的以该元素结尾的连续…

QuPath学习 ② HE scripts

文献中详细介绍了处理H&E scripts的详细过程,计算H&E染色的全切片中的肿瘤基质百分比。 步骤: 1.将相关幻灯片添加到QuPath项目中。 2.对于项目中的每张幻灯片,围绕一个有代表性的肿瘤区域绘制一个注释。 3.运行“Estimate _ bac…

LeetCode190. Reverse Bits

文章目录 一、题目二、题解 一、题目 Reverse bits of a given 32 bits unsigned integer. Note: Note that in some languages, such as Java, there is no unsigned integer type. In this case, both input and output will be given as a signed integer type. They sho…

【Flink-Sql-Kafka-To-ClickHouse】使用 FlinkSql 将 Kafka 数据写入 ClickHouse

【Flink-Sql-Kafka-To-ClickHouse】使用 FlinkSql 将 Kafka 数据写入 ClickHouse 1)需求分析2)功能实现3)准备工作3.1.Kafka3.2.ClickHouse 4)Flink-Sql5)验证 1)需求分析 1、数据源为 Kafka,定…

每日一博 - Cache Miss Attack

文章目录 概述解决思路缓存空值键并设置短期 TTL(生存时间)使用布隆过滤器 伪代码1. 缓存空值键并设置短期 TTLa. 缓存空值键b. 设置短期 TTL 2. 使用布隆过滤器a. 集成布隆过滤器b. 查询布隆过滤器 进一步优化系统性能的建议 概述 在缓存管理中&#x…

基于VGG-16+Android+Python的智能车辆驾驶行为分析—深度学习算法应用(含全部工程源码)+数据集+模型(三)

目录 前言总体设计系统整体结构图系统流程图 运行环境模块实现1. 数据预处理2. 模型构建3. 模型训练及保存1)模型训练2)模型保存 4. 模型生成1)模型导入及调用2)相关代码(1)布局文件(2&#xff…

bug-ku--计算器

F12 maxlength"1" 限制的是你能输入几位数 改成3就行 来那个数相相加就能输入了 flag{464f5f406e7e182014500fc49f7aedfc}

Mysql和Oracle的区别

MySQL 和 Oracle 是两种常用的关系型数据库管理系统(RDBMS),它们有许多相似之处,也有一些显著的不同点。 相同点: 关系型数据库: MySQL 和 Oracle 都是关系型数据库,采用表(table&a…

Vue3+Ts项目——登录页面跳转到首页

前言:根据我上篇所实现的左边菜单栏之后,需要登录成功跳转home页面。主要分为三步。 第一步:创建三个ts文件结合pinia缓存登录信息和token src\api\userTypes.ts 就是个接口类方便页面和另一个ts文件数据传递,其实也可以不用 …

【异步绘制】UIView刷新原理 与 异步绘制

快捷目录 壹、 iOS界面刷新机制贰、浅谈UIView的刷新与绘制概述一.UIView 与 CALayer1. UIView 与 CALayer的关系2. CALayer的一些常用属性contents属性contentGravity属性contentsScale属性maskToBounds属性contentsRect属性 二.View的布局与显示1.图像显示原理2.布局layoutSu…

【UE】在蓝图中修改材质实例的参数的两种方式

目录 方式一、通过“在材质上设置标量/向量参数值”节点实现 方式二、通过“设置标量/向量参数值”节点实现 方式一、通过“在材质上设置标量/向量参数值”节点实现 1. 在材质中设置了两个参数 2. 创建材质实例 3. 创建一个蓝图,对静态网格体赋予材质实例 在事件…