You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为Bash函数设置默认参数,支持无参及指定路径调用?

解决方案

你可以用Bash的参数默认值扩展语法修改函数即可,修改后的写法如下:

ltr() {
    ls -ltr "${1:-.}" | tail -3
}

语法说明

${1:-.}是Bash的内置参数扩展规则:

  • 如果第一个输入参数$1存在且非空,就使用$1的值
  • 如果$1不存在(无参调用)或者为空,就使用默认值.(代表当前目录)

修改完成后执行source ~/.bash_profile让配置立即生效,之后就可以同时支持两种调用方式:

  • 无参调用ltr:默认查询当前目录下的最新3个文件
  • 带参调用ltr ~/Downloads:查询指定目录下的最新3个文件

macOS 环境注意事项

  1. 该语法完全兼容macOS自带的Bash 3.2版本,无需额外安装依赖
  2. 若你使用的是macOS Catalina及更高版本,系统默认Shell已改为Zsh,此时修改~/.bash_profile不会生效,需要将函数写到~/.zshrc文件中,执行source ~/.zshrc生效即可
  3. 若需要支持传入多个目录同时查询,可以将函数优化为如下写法,会自动处理所有传入的路径参数:
ltr() {
    ls -ltr "${@:-.}" | tail -3
}

内容的提问来源于stack exchange,提问作者Sam7919

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.14 07:27:03