小编Ell*_*t B的帖子

为什么 {} 开始在 Terminal.app 中显示为 äå?

我正在运行 CentOS 7.9,今天我的终端显示奇怪的字符。有些字母看起来不错,但有些符号显示为一些非英文字符。例如,我制作了一个包含以下内容的文本文件:

!@#$%^&*()_+{}
Run Code Online (Sandbox Code Playgroud)

当我打开这个vi或者nano它看起来正如我上面写的是正确的。但在终端中它看起来像这样:

$ cat chars.txt 
!É#$%Ü&*()_+äå

$ od -An -vtx1 < chars.txt
 21 40 23 24 25 5e 26 2a 28 29 5f 2b 7b 7d 0a
Run Code Online (Sandbox Code Playgroud)

这些奇怪的字符随处可见,即使在我打字时也是如此。这台机器一直工作到今天。我认为这是在我下载了一个二进制文件curl并忘记使用该-O参数之后发生的。重新启动并以其他用户身份登录没有帮助。我的语言环境设置如下;我不知道还有什么要找的。我使用的 shell 是 Bash 4.2 版,没什么异常。

$ locale
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
Run Code Online (Sandbox Code Playgroud)

编辑:说服务器的外壳是 bash 4.2 会更准确。我在 macOS Big Sur 上使用 Terminal.app 登录。

terminal-emulator character-encoding centos macos

17
推荐指数
1
解决办法
1692
查看次数

在 find 的输出上执行多个 bash 命令

我想使用 find -exec 选项执行一些命令,但我不确定这段代码有什么问题。目前,它只处理第一个查找结果,然后卡住了。我在 OS X 中使用 bash。

read -e DIRECTORY

find $DIRECTORY -type f -name '*.mov' -exec sh -c '
  file="$0"
  echo "Processing $file ..."
  modmovie -notrack "Timecode Track" $file -save-in-place
  read line </dev/tty
' {} \;
Run Code Online (Sandbox Code Playgroud)

osx bash find

5
推荐指数
1
解决办法
710
查看次数

uname 显示重复的架构

为什么uname 显示x86_64 三次?这是 Ubuntu 12.04.4。

$ uname -a
Linux seedbox 3.2.0-59-generic #90-Ubuntu SMP Tue Jan 7 22:43:51 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

command-line

4
推荐指数
1
解决办法
361
查看次数

如何在 FreeBSD 上查看 PCIe 设备信息?

我知道pciconf,但这没有提供足够的信息。lspci -vvFreeBSD 中有类似的东西吗?我想知道协商的链路速度、序列号和其他重要产品数据、NUMA 节点等。

关于重要产品数据,手册页说-V显示了它,但我系统上的任何设备都没有显示任何内容。

这是来自 FreeBSD 的示例

# pciconf -lbcevV pci0:4:0:0
mpr0@pci0:4:0:0:    class=0x010700 card=0x30e01000 chip=0x00971000 rev=0x02 hdr=0x00
    vendor     = 'LSI Logic / Symbios Logic'
    device     = 'SAS3008 PCI-Express Fusion-MPT SAS-3'
    class      = mass storage
    subclass   = SAS
    bar   [10] = type I/O Port, range 32, base 0xa000, size 256, enabled
    bar   [14] = type Memory, range 64, base 0xfb300000, size 65536, enabled
    cap 01[50] = powerspec 3  supports D0 D1 D2 D3  current …
Run Code Online (Sandbox Code Playgroud)

freebsd pci hardware

4
推荐指数
1
解决办法
2万
查看次数

如何在 bash -c 命令中使用 globbing for 循环?

我正在尝试在其中运行一个 for 循环,bash -c以便我可以计时。此代码每次写入 23。我怎样才能让它遍历数字?

time bash -c "for i in {0..23}; do echo $i & done"
Run Code Online (Sandbox Code Playgroud)

此代码有效,但我需要对整个操作计时:

for i in {0..23}; do echo $i & done
Run Code Online (Sandbox Code Playgroud)

echo命令只是为了简单起见。我真的很想跑dd,这就是为什么我用 &

freebsd bash

0
推荐指数
1
解决办法
103
查看次数