【嵌入式开发 Linux 常用命令系列 14.1 -- .bashrc 定义函数】
2023-12-15 19:05:59
上篇文章:【嵌入式开发 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 的区别】
文章来源:https://blog.csdn.net/sinat_32960911/article/details/135010929
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!