给alias命令添加参数支持

news/2025/7/9 11:49:10/文章来源: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…

python3 中的装饰器总结

前言python3 中有很多好用的装饰器,本编文章作为个人笔记使用,随时更新。 正文1. @dataclass @dataclass是一个装饰器,用于给类提供自动生成属性、初始化方法和其他常见方法的功能。它可以简化类的定义,并减少重复的代码。 @dataclass 在 Python 中的作用类似于 Java 中的 …

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

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

医药WMS系统的功能特性

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

自动化测试框架选型和落地实践路径

有同学问了我这样一个问题:我想学习并且在工作中落地接口自动化测试,我该学Java还是Python,用哪个测试框架和工具更好?有什么推荐的学习资料和测试框架吗? 又是一个很典型的问题,也是新手最容易纠结的点。这篇文章分享一些我的经验和思考。自动化测试框架选型 其实关于测…

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

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

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

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

物理机开关机

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