返回顶部
首页 > 资讯 > 精选 >怎么在Bash脚本中引入alias方法
  • 326
分享到

怎么在Bash脚本中引入alias方法

2023-06-07 23:06:49 326人浏览 泡泡鱼
摘要

本篇文章给大家分享的是有关怎么在Bash脚本中引入alias方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。alias的使用在日常开发中,为了提高运维效率,我们会用alias

本篇文章给大家分享的是有关怎么在Bash脚本中引入alias方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

alias的使用

在日常开发中,为了提高运维效率,我们会用alias(命令别名)来定义命令的简称。比如在~/.bash_profile中添加:

alias ll='ls -lrt --color'alias bdebug="Go build -GCflags '-N -l'"alias py3='/usr/bin/python3'

执行source ~/.bash_profile之后,这些alias定义便载入到当前终端环境中,我们可以通过alias <cmd>进行查看

$ alias ll ll='ls -lrt --color'$ alias bdebugbdebug='go build -gcflags '\''-N -l'\'

在命令行执行alias也能看到预期效果

$ ll total 44-rw-rw-r-- 1 liyang liyang  62 Sep 16 09:38 test.c-rw-rw-r-- 1 liyang liyang  68 Sep 16 09:38 foo.h-rw-rw-r-- 1 liyang liyang  74 Sep 16 09:38 foo.c-rwxrwxr-x 1 liyang liyang 8592 Sep 16 09:44 libfoo.so-rw-rw-r-- 1 liyang liyang 4347 Sep 16 09:44 o23.s-rwxrwxr-x 1 liyang liyang 9451 Sep 16 09:45 test

在Bash脚本中引入alias的问题

但是有些时候,我们希望将~/.bash_profile中定义好的alias引入Bash脚本中,以便简化命令。例如

脚本文件test.sh

#!/bin/bashsource ~/.bash_profilell

执行test.sh文件却会报错

$ bash test.sh test.sh: line 5: ll: command not found

这是因为在Bash中,alias默认是不能引入Bash脚本中的。Bash的官方文档其实更建议你使用function而非alias。那么问题来了,既然我辛辛苦苦写了这么多alias,总不能全部改成function吧,那得多费劲?

幸好,解决方法还是有的.

解决方法

只需要在test.sh中加入一行shopt -s expand_aliases

新的脚本文件

#!/bin/bashshopt -s expand_aliasessource ~/.bash_profilell

执行一下,果然成功了,这是为什么呢?

$ bash test.sh total 48-rw-rw-r-- 1 liyang liyang  62 Sep 16 09:38 test.c-rw-rw-r-- 1 liyang liyang  68 Sep 16 09:38 foo.h-rw-rw-r-- 1 liyang liyang  74 Sep 16 09:38 foo.c-rwxrwxr-x 1 liyang liyang 8592 Sep 16 09:44 libfoo.so-rw-rw-r-- 1 liyang liyang 4347 Sep 16 09:44 o23.s-rwxrwxr-x 1 liyang liyang 9451 Sep 16 09:45 test-rw-rw-r-- 1 liyang liyang  64 Mar 8 21:33 test.sh

关键在于shopt -s expand_aliases这句话,shopt是一个命令,使用它可以控制一些shell相关的开关:expand_aliases就是其中一个,当它被开启之后,Bash脚本中的所有命令别名alias都会被展开。

expand_aliases
If set, aliases are expanded as described below under Aliases, Aliases. This option is enabled by default for interactive shells.

以上就是怎么在Bash脚本中引入alias方法,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网精选频道。

--结束END--

本文标题: 怎么在Bash脚本中引入alias方法

本文链接: https://lsjlt.com/news/250458.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 怎么在Bash脚本中引入alias方法
    本篇文章给大家分享的是有关怎么在Bash脚本中引入alias方法,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。alias的使用在日常开发中,为了提高运维效率,我们会用alias...
    99+
    2023-06-07
  • 在Bash脚本中引入alias的方法
    alias的使用 在日常开发中,为了提高运维效率,我们会用alias(命令别名)来定义命令的简称。比如在~/.bash_profile中添加: alias ll='ls -lrt --color' alias bde...
    99+
    2022-06-04
    Bash脚本引入alias Bash引入alias
  • 怎么引入JavaScript脚本文件
    怎么引入JavaScript脚本文件,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。在网页中,可以使用script标签,利用该标签的src属...
    99+
    2024-04-02
  • 在Bash脚本中创建和使用数组方法总结
    在Bash中定义一个数组 有两种方法可以在bash脚本中创建新数组。第一个是使用declare命令来定义一个Array。此命令将定义名为test_array的关联数组。 $ declare -a test_array ...
    99+
    2022-06-04
    Bash脚本 数组
  • bash脚本中if语句的使用方法
    除了 "if,else" 形式之外,还有其它形式的 "if" 语句: if [ condition ]then actionfi 只有当 condition 为真时,该语句才执行操作,否则不执行操作,...
    99+
    2022-06-04
    使用方法 语句 脚本
  • Bash Shell脚本中数组的使用方法
    这篇文章主要介绍“Bash Shell脚本中数组的使用方法”,在日常操作中,相信很多人在Bash Shell脚本中数组的使用方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Bash Shell脚本中数组的使...
    99+
    2023-06-17
  • 怎么在C++中嵌入python脚本
    这篇文章主要介绍“怎么在C++中嵌入python脚本”,在日常操作中,相信很多人在怎么在C++中嵌入python脚本问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么在C++中嵌入python脚本”的疑惑有所...
    99+
    2023-06-17
  • bash脚本输入密码不回显怎么办
    小编给大家分享一下bash脚本输入密码不回显怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!不绕圈子,揭晓答案:设置终端状态为“字符不回显”(如果你了解过te...
    99+
    2023-06-09
  • mysql怎么引入脚本文件路径
    mysql引入脚本文件路径的方法:在命令行控制台中打开mysql,命令:mysql -u root -p database_name输入密码,再使用“mysql>source 脚本文件路径”命令引入脚本文件即可,例如“mysql>...
    99+
    2024-04-02
  • python调用bash shell脚本的方法是什么
    本篇文章为大家展示了python调用bash shell脚本的方法是什么,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。1. os.system()help(os.system)1.1. d...
    99+
    2023-06-22
  • 如何在Go语言中使用Bash脚本处理数组索引?
    在Go语言中,处理数组是一个常见的任务。使用Bash脚本处理数组索引是一种有效的方法。本文将介绍如何在Go语言中使用Bash脚本处理数组索引,并提供一些示例代码。 首先,我们需要了解一些Bash脚本的基础知识。在Bash脚本中,可以使用$...
    99+
    2023-06-21
    bash 索引 数组
  • bash脚本输入密码不回显问题的解决方法
    不绕圈子,揭晓答案:设置终端状态为“字符不回显”(如果你了解过termios的话,也一定听说过) 方法就是: stty -echo #设置输入字符不回显 #此处用read语句接收用户输入的内容 stty e...
    99+
    2022-06-04
    不回 解决方法 脚本
  • 怎么在Dreamweaver中插入客户端脚本
    怎么在Dreamweaver中插入客户端脚本?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。双击dreamweaver CS5图标在菜单中单击“文件”选择“新建”在新建文档窗...
    99+
    2023-06-08
  • 在HTML中怎么引入图片(两种方法)
    HTML(超文本标记语言)是Web页面的基础语言之一,无论是建立静态页面还是动态页面,HTML都是不可或缺的部分。在创建网页时,图片是非常重要和常用的元素之一,因此我们需要知道如何在HTML中引入图片。HTML可以引入多种类型的图片,如.g...
    99+
    2023-05-14
  • Bash脚本中正则表达式怎么用
    这篇文章主要介绍了Bash脚本中正则表达式怎么用,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。正则表达式(简写为 regex 或者 regexp)基本上是定义一种搜索模式的字...
    99+
    2023-06-16
  • Bash脚本中怎么使用here文档将数据写入文件
    这篇文章主要介绍“Bash脚本中怎么使用here文档将数据写入文件”,在日常操作中,相信很多人在Bash脚本中怎么使用here文档将数据写入文件问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Bash脚本中怎么...
    99+
    2023-06-16
  • 利用njs模块在nginx配置中引入js脚本
    目录前言一 安装 NJS 模块方法一: 动态加载 NJS 模块方法二: 编译时增加模块二 NJS模块运行环境的特点三 NJS 模块支持的指令及对应的处理阶段四 NJS 的简单用法示例...
    99+
    2024-04-02
  • Python中在脚本中引用其他文件函数的实现方法
    在导入文件的时候,Python只搜索当前脚本所在的目录,加载(entry-point)入口脚本运行目录和sys.path中包含的路径例如包的安装地址。所以如果要在当前脚本引用其他文件,除了将文件放在和脚本同...
    99+
    2022-06-04
    脚本 函数 文件
  • Bash脚本中处理错误的常用方法有哪些
    这篇文章主要为大家分析了Bash脚本中处理错误的常用方法有哪些的相关知识点,内容详细易懂,操作细节合理,具有一定参考价值。如果感兴趣的话,不妨跟着跟随小编一起来看看,下面跟着小编一起深入学习“Bash脚本中处理错误的常用方法有哪些”的知识吧...
    99+
    2023-06-28
  • Linux 在Bash脚本中怎么关闭文件描述符的实例
    Linux 在Bash脚本中怎么关闭文件描述符的实例 在写一个Bash脚本的时候碰到一个问题,这个脚本是用来启动一个程序B的,而这个脚本又被另一个程序A调用,结果发现新启动的B进程中有很多A进 程打开的文件...
    99+
    2022-06-04
    脚本 实例 文件
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作