首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将ls -a映射到ls -A

将ls -a映射到ls -A
EN

Unix & Linux用户
提问于 2019-02-21 11:57:41
回答 1查看 270关注 0票数 2

我试着做了一个alias ls -a = ls -A,结果是:

代码语言:javascript
运行
复制
bash: alias: `ls -a': invalid alias name

我想要ls -a没有...。我怎么能拿到呢?

EN

回答 1

Unix & Linux用户

发布于 2019-02-21 12:34:20

你不能那样用化名。别名是单个名称,调用时不带任何参数(所有参数都直接传递给别名命令,无需修改)。

为了解决您所面临的问题,我的建议是使用一个函数,然后将它别名为ls,如下所示:

代码语言:javascript
运行
复制
_ls() {
      if [[ "$1" == "-a" ]]; then
          shift
          ls -A "$@"
      else
          ls "$@"
      fi
}
alias ls=_ls

请注意,只有ls -a才会受到影响(-a需要在第一个位置单独使用),因此您仍然可以通过将它放在其他位置或将其与其他选项一起收集来访问“标准”-a

代码语言:javascript
运行
复制
ls -a              # modified '-a'
ls -a -l /tmp      # modified '-a'
ls -al             # not modified
ls -l -a /tmp      # not modified 
票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/502059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档