- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。
想改进这个问题?将问题更新为 on-topic对于堆栈溢出。
2年前关闭。
Improve this question
我在关注 this更新我的 bash 的文章。我真的很想更新我的 bash 版本,以便可以使用 --group-directories-first
ls
的选项命令。
到目前为止,我已经从链接的文章中完成了以下工作:
brew install bash
命令并下载新的 bash。根据文章,我可以验证 /usr/local/bin/bash --version
在我的机器上显示以下内容:GNU bash, version 5.0.11(1)-release (x86_64-apple-darwin18.6.0) Copyright (C) 2019 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software; you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
sudo vim /etc/shells
命令,编辑文件以包含新下载的 bash。这是它的样子:chsh -s /usr/local/bin/bash
将新的 bash 设置为默认值。 bash --version
我得到以下信息:GNU bash, version 5.0.11(1)-release (x86_64-apple-darwin18.6.0) Copyright (C) 2019 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html
This is free software; you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law.
echo $BASH_VERSION
我得到相反的结果(
3.2.57(1)-release
)。不是老版本吗?
ls --group-directories-first
时出现以下错误: ls: illegal option -- - usage: ls [-ABCFGHLOPRSTUWabcdefghiklmnopqrstuwx1] [file ...]
最佳答案
这与 bash
无关.命令 ls
不是 bash
的内置函数.
macOS 基于 Unix 操作系统。它的一些基本命令是 BSD 风格的。 --group-directories-first
您想要的选项在 GNU ls
中可用只要。你所需要的只是一个 GNU 风格的 ls
.
解决方法:安装coreutils
, 其中 GNU ls
已经包括了。
brew install coreutils
将以下代码添加到
~/.bash_profile
, 优先处理
ls
command 和其他 GNU 风格的命令,而不是 macOS 中内置的 BSD 风格的命令。
# Make all GNU flavor commands available, may override same-name BSD flavor commands
# For x86 Mac
export PATH="/usr/local/opt/coreutils/libexec/gnubin:${PATH}"
export MANPATH="/usr/local/opt/coreutils/libexec/gnuman:${MANPATH}"
# For M1 Mac
export PATH="/opt/homebrew/opt/coreutils/libexec/gnubin:${PATH}"
export MANPATH="/opt/homebrew/opt/coreutils/libexec/gnuman:${MANPATH}"
如果你只想要 GNU
ls
但不是其他 GNU 风格的命令。以上内容不要添加,而是在
~/.bash_profile
中创建一个别名.
# For x86 Mac
alias ls="/usr/local/opt/coreutils/libexec/gnubin/ls"
# For M1 Mac
alias ls="/opt/homebrew/opt/coreutils/libexec/gnubin/ls"
以下是
coreutils
带来的所有命令.
❯ ls /usr/local/opt/coreutils/libexec/gnubin
'[' cat cksum dd echo fmt install ls mv od printf rmdir sha384sum split tac tr unexpand wc
b2sum chcon comm df env fold join md5sum nice paste ptx runcon sha512sum stat tail true uniq who
base32 chgrp cp dir expand groups kill mkdir nl pathchk pwd seq shred stdbuf tee truncate unlink whoami
base64 chmod csplit dircolors expr head link mkfifo nohup pinky readlink sha1sum shuf stty test tsort uptime yes
basename chown cut dirname factor hostid ln mknod nproc pr realpath sha224sum sleep sum timeout tty users
basenc chroot date du false id logname mktemp numfmt printenv rm sha256sum sort sync touch uname vdir
关于macos - 如何在 macOS 上安装和使用 GNU "ls"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57972341/
如果我执行 ls -la,我会得到如下结果 total 16 drwxr-xr-x 4 rockse staff 136 Apr 28 16:55 . drwx------+ 23 rocks
我找到了一些Linux文件,当我键入ls -lah时,它将输出以下权限格式: ... drwxr-xr-x. 2 root root ... -rw-rw-r--. 1 root r
我正在尝试从 python 执行 ls -l 来检查文件的最后修改日期。 os.listdir 不显示长列表格式。subprocess.call 显示格式,但实际上打印它,并返回 0。我希望能够将其放
以下 shell 函数定义卡在 Cygwin 的 bash 控制台 (RHEL/Ubuntu) 中,当它被调用时它只是退出终端。 $ function ls { ls; } $ ls 为什么会出现这种
为什么这两个命令的输出不同: ls | cat ls 第一个似乎用换行符分隔文件名。 这也适用于命令 suc 有 ls > outfile 和类似的东西。 我使用的是 Mac OSX,如果这有什么不同
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a software
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我使用 eshell-parse-command 'ls -l' 得到了这个: (progn (eshell-trap-errors (eshell-named-command "l
如何使用 RegExp 在 JavaScript 中实现类似于 alias 的功能? ALIAS = [{pattern: /^ls[$ ]/, replace: 'ls --color '}] s
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a softwar
我正在编写一个 shell 程序,当将值传递给 execv() 时,我需要一个指向程序名称的 char 指针(即 ls),我需要一个指向参数的 char 指针数组的指针。 我会检查并解析用户的输入,如
我对使用 bash 编写脚本还比较陌生,并编写了以下脚本: # Set variables logfile=/tmp/peter/logfile.log indir=/mls/indir/IG/ te
所以基本上我有一个任务要使用 strace 进行分析,ls 命令需要哪些系统调用才能提供与 ls -l 相同的信息。 但是对于 ls -l 命令有许多奇怪的系统调用,例如 stat 64 被调用时使用
我在 ubuntu 的文件夹中有一个文件夹列表。IE。/mnt/source/customcode/files/brands/下 root@a919794ec280:/mnt/source/custo
已关闭。此问题不符合Stack Overflow guidelines 。目前不接受答案。 这个问题似乎不是关于 a specific programming problem, a software
#include #include #include #include #include int flag; void catch (int sig) { if (sig == SIGI
我使用 Process 来调用 shell(zsh),我想 cd ~ 或其他一些目录,例如在 shell 中定义的 cd $PROJ_ROOT。但似乎无法处理这些 token 。如何解决这个问题? s
我在我的 Centos5 机器上运行了这个: ls -al & ; ls -al 我期待它在后台运行 ls -al,同时在前台运行 ls -al,并演示终端的输出是如何被破坏的通过这样做。 但是,我得
当我在 PowerShell 中使用 Get-ChildItem 时,我会得到目录中以行格式设置的项目列表。该列表经常会超出屏幕,如果我想查看列表的其余部分或以前的命令和输出,则迫使我向上滚动。我想为
我试图用所有必要的参数绕过调用 JNIEnv->DefineClass 方法,但当我尝试从 java 调用该方法时,它总是返回 java.lang.NoClassDefFoundError: ls.H
我是一名优秀的程序员,十分优秀!