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


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

文章目录

.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 的区别】

最近更新

  1. TCP协议是安全的吗?

    2023-12-16 19:38:07       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2023-12-16 19:38:07       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2023-12-16 19:38:07       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2023-12-16 19:38:07       20 阅读

热门阅读

  1. cp scp rsync 的备份用法举例

    2023-12-16 19:38:07       47 阅读
  2. 数据结构-图

    2023-12-16 19:38:07       30 阅读
  3. vue3 uniapp定时器 每天定时触发任务

    2023-12-16 19:38:07       38 阅读
  4. leetCode算法—4.寻找两个正序数组的中位数

    2023-12-16 19:38:07       38 阅读
  5. 疯狂SQL转换系列- SQL for Tencent Cloud VectorDB

    2023-12-16 19:38:07       37 阅读
  6. MVVM和MVC以及MVP的原理以及它们的区别

    2023-12-16 19:38:07       38 阅读
  7. 使用Spring Boot和领域驱动设计实现模块化整体

    2023-12-16 19:38:07       34 阅读
  8. 绘制饼状图的编程实现

    2023-12-16 19:38:07       31 阅读
  9. 网络安全试题——附答案

    2023-12-16 19:38:07       40 阅读
  10. LSTM 双向 Bi-LSTM

    2023-12-16 19:38:07       44 阅读
  11. 虚拟机强制关机移除后恢复

    2023-12-16 19:38:07       46 阅读
  12. 函数柯里化 剖析

    2023-12-16 19:38:07       36 阅读