Linux-Shell技巧-参数化alias

2023-11-04

shell脚本提供了改写命令方式-alias

但是alias改写常用的是直接改写方式,比如如下操作:

alias ll "ls -alt"
alias g "gvim"

但通常情况下,有的明林需要传递参数,或者用户可以自定义话一些常用的路径,但有些文件夹路径有可能会经常改变,那么参数化的alias就会比较常用。这里介绍两种参数化alias的方式。

一、\!:+数字方式

# \!:1  ##第一个参数
# \!:2  ##第二个参数
# \!:3  ##第三个参数
# \!*   ##所有参数
# \!:2* ##第二个以后所有参数

 利用这种方法,可以实现参数化alias:

alias go_vsim "cd /home/lucky/\!:1/tb/sim"
alias go_env  "cd /home/lucky/\!:1/tb/\!:2"

######在terminal输入######:
go_vsim pcie
go_env pcie reg_mdl
#最终就可以直接cd到目标路径

二、构造函数方式

shell构造函数语法

print_txt() {
    echo "first args $1"
    echo "second args $2"
    echo "third args $3"
}

这里的$1~$9,表示函数的第一个。。第9个参数,那么alias可以通过构造参数化函数实现,也是一个取巧的办法,不过这种方式会依赖函数内部的命令是否支持传参。

alias test_p "test_p() {echo "first args $1";}; test_p"

########在terminal输入########
test_p hello
########打印########
first args hello

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Linux-Shell技巧-参数化alias 的相关文章

  • Quartus II 安装

    本次介绍使用的 Quartus 版本为 10 1 目前 Quartus II 官网已经没有 13 1 以下版本的安装包 大家可以安装 13 1 以上版本的软件 功能都是大同小异 下载地址 FPGA Software Download Cen
  • zynq之petalinux安装和编译

    首先下载petalinux v2015 4 final installer dec run 去xilinx官网或者我的网盘下载http pan baidu com s 1gf11UGr mkdir opt pkg petalinux v20
  • STA(静态时序分析) 详解:如何计算最大时钟频率,以及判断电路是否出现时钟违例(timing violation)?

    1 什么是STA STA 静态时序分析 是时序验证的一种方法 用于计算和分析电路是否满足时序约束的要求 2 为什么需要STA 电路能否正常工作 其本质上是受最长逻辑通路 即关键路径 的限制 以及受芯片中存储器件的物理约束或工作环境的影响 为
  • Xilinx ISE系列教程(9):LabTools下载、安装、使用教程(独立的下载工具)

    文章目录 1 ISE Vivado LabTools简介 2 ISE 14 7 Lab Tools下载 安装 3 Vivado 2018 3 LabTools下载 安装 1 ISE Vivado LabTools简介 Xilinx LabT
  • 最详细的Vivado安装教程

    V i v a d o 安 装
  • FPGA实战--等精度频率测量

    首先放置效果图 本次试验中采用的是等精度测频率 等精度测频的原理是产生一个1s的高电平 在高电平中对被测方波进行计数 所测得数字即该波形频率 具体等精度测量原理请参考 http www elecfans com d 591858 html
  • Xilinx 7系列芯片选型手册的资源量怎么看

    推荐阅读AMD官方文档 该文档介绍了各种资源的具体含义 链接 7 Series FPGAs Configurable Logic Block User Guide UG474 以XC7A35T为例 Logic Cells 逻辑单元 对于7系
  • FPGA(3)验证数字逻辑(与门、与非门、二选一数据选择器、2-4译码器、半加器、全加器)

    目录 一 验证与门 二 验证与非门 三 验证二选一数据选择器 四 验证2 4译码器 五 验证半加器 六 验证全加器 0 初始化定义 1 第一个半加器 2 第二个半加器 3 得到最终进位Co 代码 0决定与 1决定或 一 验证与门 只要有一个
  • 采用Vivado 配置xilinx GTX的SATA设计

    从Vivado开始 配置GTX的时候 多了一个SATA协议支持 但有些小地方还需要自己另外设置 整理了一下 分享给大家 首先打开Transceivers wizard 打开页签 线速率和参考时钟选择 在协议里面选择SATA2或者SATA3
  • xilinx xdma PCIe中断bug

    xilinx xdma PCIe中断存在bug bug1 此中断虽然是msi或者msx中断 但是不中断cpu bug2 此中断不是边沿中断 而是电平中断 在驱动层需要不断地轮训查询中断事件 bug3 此中断持续时间必须长 而且在收到中断应答
  • 基于FPGA的AHT10传感器温湿度读取

    文章目录 一 系统框架 二 i2c接口 三 i2c控制模块 状态机设计 状态转移图 START INIT CHECK INIT IDLE TRIGGER WAIT READ 代码 四 数据处理模块 串口 代码 五 仿真 testbench设
  • FPGA实现VGA显示图片

    利用FPGA在带有VGA接口的液晶显示器上显示图片 电路原理图 端口说明 VGA R2 VGAB0的8个端口位VGA的RGB数据位 VGA HS为行同步信号 VGA VS为场同步信号 以分辨率为640x480为例 刷新速率为60Hz 每幅图
  • [从零开始学习FPGA编程-38]:进阶篇 -语法-函数与任务

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 目录 前言 第1章 什么是函数Function 1 1 什么是函数 1 2 函
  • VHDL:按钮去抖动(或不去抖动,视情况而定)

    我已阅读其他帖子 但似乎无法修复我的 我是 VHDL 新手 所以我确信这是一个简单的修复 简而言之 按钮没有防抖 代码编译和比特流程序 在测试台中 按下按钮可以工作 但输出 LED 不会改变 在板上 按下按钮会使随机 LED 亮起 我猜是因
  • 在 C 中操作 80 位数据类型

    我正在用 C 实现一些加密算法 其中涉及 80 位密钥 特定操作涉及将密钥旋转移位 x 个位数 我已经尝试过 long double 类型 如果我没记错的话 它是 80 位 但这不适用于位移运算符 我能想到的唯一替代方案是使用 10 个元素
  • 如何生成异步复位verilog总是阻塞凿子

    Chisel 始终生成敏感度列表中仅包含时钟的块 always posedge clk begin end 是否可以将模块配置为使用异步重置并生成这样的始终块 always posedge clk or posedge reset begi
  • VHDL - PhysDesignRules:367

    当我尝试从 VHDL 代码合成 实现和生成程序文件时 我收到警告 当我尝试合成时出现此错误 WARNING Xst 647 Input
  • if 语句导致 Verilog 中的锁存推断?

    我正在编写用于合成算法的 Verilog 代码 我对哪些情况可能导致推断锁存器有点困惑 下面是这样的一段代码 虽然它在模拟中工作得很好 但我担心它可能会导致硬件问题 always b1 or b2 b1 map b2 map m1 map
  • FPGA大输入数据

    我正在尝试向 FPGA 发送 4 KB 字符串 最简单的方法是什么 是我正在使用的fpga的链接 我正在使用 Verilog 和 Quartus 您的问题的答案在很大程度上取决于将数据输入 FPGA 的内容 即使没有您需要遵守的特定协议 S
  • 无符号和 std_logic_vector 之间的区别

    谁能告诉我以下书面陈述之间的区别 signal A unsigned 3 downto 0 signal B std logic vector 3 downto 0 Both std logic vector and unsigned ar

随机推荐

  • vulnhub靶机Me and My Girlfriend : 1-Writeup渗透测试

    一 信息收集 打开靶机后 先用netdiscover进行IP扫描 确定靶机IP为192 168 1 106后 扫描它的端口开放情况 namp sV A p 0 65535 192 168 1 106 发现靶机只开放了22和80端口 打开80
  • Matlab-SVM分类器

    支持向量机 Support Vector Machine SVM 可以完成对数据的分类 包括线性可分情况和线性不可分情况 1 线性可分 首先 对于SVM来说 它用于二分类问题 也就是通过寻找一个分类线 二维是直线 三维是平面 多维是超平面
  • Python出现TypeError: __init__() got an unexpected keyword argument ‘threshold‘

    可能是layoutparse版本下载错误 在PaddleOCR README ch md at release 2 3 PaddlePaddle PaddleOCR GitHub 下载正确版本
  • Python爬虫(九)

    scrapy框架 定义 异步处理框架 可配置和可扩展程度非常高 Python中使用最广泛的爬虫框架 安装 Ubuntu安装 1 安装依赖包 1 sudo apt get install libffi dev 2 sudo apt get i
  • 【Ubuntu】将Qt程序打包制作成deb

    1 打包Qt程序 1 1 下载linuxdeployqt 如果使用环境是x86可以直接下载 下载地址 https github com probonopd linuxdeployqt releases 如果使用环境是嵌入式 需要下载linu
  • 程序员面试题目:请实现一个函数,把字符串中的每个空格替换成"20"。

    来源 我是码农 转载请保留出处和链接 本文链接 http www 54manong com id 1223 题目 请实现一个函数 把字符串中的每个空格替换成 20 例如输入 We are happy 则输出 We 20are 20happy
  • C语言系列:2、数据类型、运算符和表达式

    C语言系列 2 数据类型 运算符和表达式 文章目录 C语言系列 2 数据类型 运算符和表达式 1 前言 2 变量名 3 数据类型和长度 3 1 基本数据类型 3 2 short和long限定符 3 3 signed 与unsigned限定符
  • (三)运行微信小程序:在主页加入扫码组件

    制作了多个页面后 我们试图在小程序中添加些其他功能 比如实现扫码功能 1 在二维码生成网站上 生成一张二维码或条形码照片 百度 二维码生成 即可找到生成网站 这里我们使用 2023你好吗 数字加文字的形式生成如下二维码 并保存到本地 供后续
  • OpenCV获取摄像头编号及名称

    欢迎使用Markdown编辑器 你好 这是你第一次使用 Markdown编辑器 所展示的欢迎页 如果你想学习如何使用Markdown编辑器 可以仔细阅读这篇文章 了解一下Markdown的基本语法知识 方法 OpenCV的VideoCapt
  • Github 项目托管

    为了方便代码的管理 可以使用 github 来托管我们的项目 把每次更新的代码放到 github 上还能够提高代码的共享性 首先需要注册并登我们的 github 账号 https github com 新建仓库 New repository
  • DataPipeline如何实现数据质量管理

    数据质量管理已经成为数据治理的重要组成部分 高质量的数据是企业进行决策的重要依据 DataPipeline数据质量平台整合了数据质量分析 质量校验 质量监控等多方面特性 以保证数据质量的完整性 一致性 准确性及唯一性 帮助企业解决在数据集成
  • vue+webpack实现异步组件加载

    8 9更新 之前想搬迁到csdn的时候由于邀请码问题迟迟没把博客转过来 所以跑去博客园了 今天发现csdn已经帮我把文章搬过来 有必要修正一下这篇文章 写这篇文章的时候因为刚接触vue 所以捣鼓的时候有些迷糊 以下可以跳过 本来很简单的事情
  • Centos8 Failed to download metadata for repo ‘AppStream‘解决

    1 这个问题主要原因是 CentOs Linux 8 从 2021 10 31 号后已经停止维护 CentOS 8 将不再从 CentOS 官方项目获得开发资源 所以之后更新镜像需要通过 vault centos org来获取更新 2 进入
  • 无向图的表示:邻接矩阵和邻接表

    这里将一个无向图用邻接表和邻接矩阵表示 输入 顶底个数n 图中的各个边 用两个顶点表示 输出 这个无线图的邻接矩阵和邻接表 其中邻接表中的链接按元素大小升序排列 先给出一个例子说明 假设有无向图如下 则其邻接矩阵和邻接表如提示框中所示 其实
  • javaweb项目实战(附有源码)

    这个代码是我做微信小程序的时候 专门用java做的web项目 主要是为前端提供接口 便于前端调用数据 如果有想要参考javaweb项目如何做的小伙伴 可以到github上下载 github上有前端和后端代码 在wiki上还有表结构和接口文档
  • VIM 点滴积累

    删除列 1 光标定位到要操作的地方 2 CTRL v 进入 可视 块 模式 选取这一列操作多少行 3 d 删除 插入列 插入操作的话知识稍有区别 例如我们在每一行前都插入 1 光标定位到要操作的地方 2 CTRL v 进入 可视 块 模式
  • java stream SONObject和JSONArray操作

    转自 https zhuanlan zhihu com p 36865573 1 取最后一条数据 stream对象存在方法findFirst 我们可以很方便的取到第一条数据 但它却没有findLast方法 需要取到最后一条数据 我们可以将数
  • 模型微调(Finetune)

    参考 https zhuanlan zhihu com p 35890660 ppt下载地址 https github com jiangzhubo What is Fine tuning 一 什么是模型微调 给定预训练模型 Pre tra
  • IDDPM论文阅读

    论文链接 Improved Denoising Diffusion Probabilistic Models 文章目录 摘要 引言 去噪扩散概率模型 定义 实际训练 对数似然改善 可学习的
  • Linux-Shell技巧-参数化alias

    shell脚本提供了改写命令方式 alias 但是alias改写常用的是直接改写方式 比如如下操作 alias ll ls alt alias g gvim 但通常情况下 有的明林需要传递参数 或者用户可以自定义话一些常用的路径 但有些文件