相关疑难解决方法(0)

我可以使用 .bashrc 使 ls 在 OS/X 和 Linux 上显示颜色吗?

我在个人机器上运行 OS/X,在远程服务器上运行 Linux。(即使在 Xserve 还在制造时,我也买不起。)我很想为这两个文件使用相同的 .bashrc 文件,我想让 ls 显示颜色,这样我就可以识别可执行文件、目录和喜欢。

但是lsLinux 上的 GNU想要看到--colors命令行开关,否则它会拒绝显示颜色。Apple 的(BSD?)ls更喜欢查看export CLICOLORS=1shell 变量来告诉它显示颜色。

我会两者都做,但ls如果Apple看到一个未知的--colors开关,它就会呕吐。

.bashrc 中有没有好的方法可以让我检测是否ls接受开关,然后决定是否使用它作为别名--colors

ls colors bash alias

8
推荐指数
1
解决办法
862
查看次数

如何为 shell 脚本的某些输出着色?

我写了一个小 Bash 脚本,spfquery用于检查我的域电子邮件 SPF 记录,如果它传递所有提供商的 IP 地址:

#!/bin/bash

# RED="\033[1;31m"
GREEN="\033[1;32m"
NOCOLOR="\033[0m"

email="[my email address]" # deleted for bots not to hound me

declare -a ips=("88.86.120.212" "88.86.120.223" "88.86.120.250" "88.86.120.213" "88.86.120.103" "46.234.104.23" "46.234.104.24")

echo -e "\n\n"

for ip in "${ips[@]}"
do
    echo -e "${GREEN}$ip${NOCOLOR}"
    spfquery -sender $email -ip $ip -helo kolbaba.stable.cz
    echo -e "\n\n"
done
Run Code Online (Sandbox Code Playgroud)

注意,有RED注释掉。那是因为我希望生成的消息以以下任何一个开头:

  • fail
  • softfail
  • neutral
  • unknown
  • error
  • none

即不与:

  • pass

以红色着色。

但如何做到这一点对我来说是个谜?

colors shell-script

7
推荐指数
2
解决办法
3万
查看次数

标签 统计

colors ×2

alias ×1

bash ×1

ls ×1

shell-script ×1