给alias命令添加参数支持

news/2024/7/25 21:48:13/文章来源:https://www.cnblogs.com/kingron/p/18247770

问题

希望给通过 alias 定义的命令加上参数的支持。


解决方案

如果只是想将参数用作命令的后面部分,比如 ll 命令,那么无需任何额外的操作:

alias ll='ls -al'
ll ~

如果想将参数用作拼成命令的一部分,则可以将命令转为自定义函数来实现,比如,想要给 django 项目生成迁移文件,而且自定义迁移文件名称,但是每次都需要先 cd 到项目目录,然后运行 makemigrate 命令,比较麻烦,可以转为使用 alias 将这些操作改为一个命令:

# 原来的操作
cd djangoproject
python manage.py makemigrations model --empty --name data_xxx# 使用 alias 的操作
alias migratedata='migrate(){ cd djangoproject;python manage.py makemigrations model --empty --name data_$1;};migrate'
migratedata xxx

因为 alias 本身并不支持直接传参,因此这里使用了将命令封装到一个函数 migrate,然后通过执行函数以接收参数。


扩展

如果不通过函数接收参数 $1$1 会使用 shell 的参数(就像引入其他环境变量一样,但是 $1 通常没有指定任何值)


参考

  1. bash - Can I pass arguments to an alias command? - Ask Ubuntu

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

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

相关文章

PyQT5之QListWidget

实例1 import sys from PyQt5.QtCore import Qt from PyQt5.QtGui import QIcon from PyQt5.QtWidgets import QMainWindow, QMessageBox, QApplication, QWidget, QVBoxLayout, QPushButton, QListWidget, QListWidgetItemclass ListWidgetDemo(QMainWindow):def __init__(sel…

云原生技术实践营 深圳站——Serverless + AI 专场开启报名!

1.活动简介 “云原生技术实践营 深圳站 ——Serverless +AI应用开发专场” 是一场以 Serverless 为主题的技术活动,通过一个下午的时间增进对 Serverless 技术的理解,快速上手,活动受众以关注 Serverless 技术的开发者、企业决策人、云原生领域创业者为主,活动形式为演讲、…

医药WMS系统的功能特性

医药WMS系统(Warehouse Management System)是针对医药行业特殊需求定制的仓库管理系统,它集成了多项功能特性以确保药品的安全性、合规性以及供应链的高效运作。 医药仓储物流区别 在新版《药品经营质量管理规范》(GSP)等法律法规的要求下一般来讲医药仓储物流和别的行业有…

数据平台:企业数字化转型的加速器

企业数字化转型的基本路径 数字化转型是一个逐步发展的进程,它遵循着从计算机化到连接、透明化、预测和自适应的路径。在这一进程中,企业从传统工厂向透明工厂、智能工厂转变,实现工业4.0的目标。这一转变涉及人机环境料法的各个方面,包括现场管理、制造管理、运营管理等,…

隐马尔科夫模型HMM——Python实现

隐马尔科夫模型(Hidden Markov Model, HMM)是一种统计模型,用于描述一个由隐藏的马尔科夫链驱动的随机过程,其中观测序列和状态序列之间存在某种统计依赖关系。HMM通过一组隐藏状态(隐含状态)和观测到的序列来描述系统的行为,通常用于解决时间序列分析、模式识别和自然语…

物理机开关机

关机[root@openstack017.xx.com xx]# init 0Receive Connection closedConnection websocket closed

根据业务数据计算系统并发

1、日活 访问量 活跃度 2.1 PV(Page View) 访问量, 即页面累计浏览量或点击量,衡量网站用户访问的网页数量;在一定统计周期内用户每打开或刷新一个页面就记录1次,多次打开或刷新同一页面则浏览量累计。 2.2 UV(Unique Visitor)访问用户数(去重),统计1天内访问某…

kettle从入门到精通 第六十九课 ETL之kettle kettle cdc mysql,轻松实现实时增量同步

1、之前kettle cdc mysql的时候使用的方案是canal+kafka+kettle,今天我们一起学习下使用kettle的插件Debezium直接cdc mysql。注:CDC (Change Data Capture) 是一种技术,用于捕获和同步数据库中的更改。1)Debezium步骤解析mysql binlog日志。 2)json input步骤解析json字符…

可视化学习:如何使用后期处理通道增强图像效果

GPU是并行渲染的,这样的渲染很高效。但是在实际需求中,有时我们计算片元色值时,需要依赖周围像素点或者某个其他位置像素点的颜色信息,这样的话想要一次性完成绘制就无法做到,需要对纹理进行二次加工处理。前言 大家好,本文分享的是如何使用后期处理通道增强图像效果,通…

wkhtmltopdf的下载和使用

wkhtmltopdf 是一个开源的命令行工具,用于将 HTML 页面转换为 PDF 文档。它使用 Qt WebKit 渲染引擎,支持 CSS、JavaScript 等前端技术,并提供丰富的配置选项,使用户能够控制转换过程。 下载步骤 (1)打开官网链接:https://wkhtmltopdf.org/downloads.html根据自己电脑系…

centos设置自定义服务并开机自启动

1、编写自定义脚本 cat /root/test.sh !/bin/bash 每隔5s打印当前时间并输出到指定文件里 while true do echo "date +%Y-%m-%d %H:%M:%S" >> /root/a.log sleep 5 done 2、将脚本设置成服务 vim /etc/systemd/system/zdy.service [Unit] Description=zidingyi…

Vue 3深度探索:自定义渲染器与服务端渲染

这篇文章介绍了如何在Vue框架中实现自定义渲染器以增强组件功能,探讨了虚拟DOM的工作原理,以及如何通过SSR和服务端预取数据优化首屏加载速度。同时,讲解了同构应用的开发方式与状态管理技巧,助力构建高性能前端应用。title: Vue 3深度探索:自定义渲染器与服务端渲染 date…

【干货分享】.NET人脸识别解决方案

前言 前段时间有同学在DotNetGuide技术社区交流群提问:.NET做人脸识别功能有什么好的解决方案推荐的吗?今天大姚给大家推荐2款.NET开源、免费、跨平台、使用简单的人脸识别库,希望可以帮助到有需要的同学。 人脸识别应用场景 现如今人脸识别应用场景比较广泛如:安防监控、人…

git-jenkins阶段04 jenkins自由风格项目(发布, 自动触发器, 返回状态给gitlab), maven项目, pipeline流水线项目

1.Jenkins创建项目点击创建一个新任务#类型: 自由风格项目: php,c,python项目 maven项目:要编译的,像java项目 pipeline:流水线操作创建一个自由风格项目,如图 项目配置中,可以选择丢弃旧的构建,只保存7天的构建记录,最多保留10个构建记录。(可配可不配) 构建一般只用shel…

ABC355E Guess the Sum 题解

前缀和上建图,有点典,但赛时没想出来ABC355E Guess the Sum 题目大意 给定一个长度为 \(2^n\) 的序列 \((A_0,A_1,\dots,A_{2^n-1})\),每次可以询问一个长度为 \(2^i\) 的区间 \([l,r]\),满足 \(l\) 是 \(2^i\) 的倍数,标准输入会返回 \([l,r]\) 的区间和 \(\bmod 10\) 的…

单文件静默安装包 2024年6月14日

单文件静默安装包 2024年6月14日"D:\Prog\7z SFX Builder\单文件静默安装包.txt" "D:\Prog\7z SFX Builder\单文件静默安装包.txt" Version 1.0 Builder 2024年6月14日1、目的目标 制作Windows系统平台上的应用软件的静默安装包, 例如:一键安装MS-Offic…

c/c++设计模式----命令模式

1. 通过一个范例引出命令模式代码编写方法//红烧鱼,锅包肉#include <iostream> #include <list>#ifdef _DEBUG //只在Debug(调试)模式下 #ifndef DEBUG_NEW #define DEBUG_NEW new(_NORMAL_BLOCK,__FILE__,__LINE__) //重新定义new运算符 #define new DEBUG_N…

增补博客 第二十二篇 python 牛顿迭代法

【题目描述】编写程序,使用牛顿迭代法求方程在x附近的一个实根。【练习要求】请给出源代码程序和运行测试结果,源代码程序要求添加必要的注释。【输入格式】请在一行中输入方程系数a、b、c、d和实数x,数据中间以空格为间隔。【输出格式】对每一组输入的数据,输出牛顿迭代法…

python学习笔记-scrapy源码流程和自定义爬虫框架

一、scrapy源码流程流程要点:1、执行CrawlerProcess构造方法  2、CrawlerProcess对象(含有配置文件)的spiders     2.1、为每个爬虫创建一个Crawler     2.2、执行d=Crawler.crawl(...)       d.addBoth(_done)     2.3、CrawlerProcess对象._active={…

RTE Open Day 联手 AGI Playground,最先锋 RTE+AI Builders 齐聚北京丨活动招募

6 月 22 日至 23 日,北京,AGI Playground 2024 即将引燃今夏!6 月 22 日至 23 日,北京,AGI Playground 2024 即将引燃今夏!这场备受瞩目的 AGI 盛会,将汇聚王小川、杨植麟等众多创业者。RTE 开发者社区的 Builders 和 RTE Open Day 也将亮相其中!「有一群人在一起,就很…