我想列出可以在 bash 控制台中使用的所有颜色。之后我想将提示设置为粗体和类似橙色的颜色。我用它来为我列出颜色代码:
for code in {0..255}; do echo -e "\e[38;05;${code}m $code: Test"; done
Run Code Online (Sandbox Code Playgroud)
但问题是如何让它加粗并保持颜色呢?
我在这里寻找了一些关于将其设置为粗体的建议:http://misc.flogisoft.com/bash/tip_colors_and_formatting,但我找不到任何结合粗体和 256 种颜色之一的代码。
这是我对这个问题的评论之一,关于bc在 shell 脚本中的使用。 bc大量换行,例如:
> num=$(echo 6^6^3 | bc)
> echo $num
12041208676482351082020900568572834033367326934574532243581212211450\ 20555710636789704085475234591191603986789604949502079328192358826561\ 895781636115334656050057189523456
Run Code Online (Sandbox Code Playgroud)
但是请注意,它们并不是变量中的真正换行符——或者至少如果不加引号使用的话,它们就不是换行符。例如,在分配中使用更多管道进行鬼混,例如:
num=$(echo 6^6^3 | bc | perl -pne 's/\\\n//g')
Run Code Online (Sandbox Code Playgroud)
我意识到,虽然确实是一个\n在bc输出,检查echo $num > tmp.txt与hexdump示出了\n(ASCII 10)具有绝对成为变量赋值的空间(ASCII 32)。
或者至少,在 unquoted 的输出中$num >。这是为什么?
正如 fedorqui 指出的那样,如果您使用引号: echo "$num",您将再次获得换行符。通过检查hexdumpecho $num > tmp.1和echo "$num" > tmp.2hexdump之间的区别,这一点很明显;前者包含\(反斜杠空格)而后者包含\\n(反斜杠换行符)。
当 X 退出省电屏幕空白时,是否可以自动执行命令?即,当我按下一个键/移动鼠标以再次启动显示器时会触发什么?
我有一个计时器,字面上是这样的:
foobar.service:
[Unit]
Description=Timer Test
Requires=rsyslog.service # rsyslog is an active local service.
[Service]
Type=simple
ExecStart=/usr/bin/logger "Running foobar timer test!"
Run Code Online (Sandbox Code Playgroud)
foobar.timer:
[Unit]
Description=Test Timer
[Timer]
OnCalendar=10:00 # See below about the time.
Unit=foobar.service
RemainAfterElapse=no
[Install]
WantedBy=timers.target
Run Code Online (Sandbox Code Playgroud)
我通过在未来 10 分钟内安装它 ( systemctl enable foobar.timer) 来测试它OnCalendar。但是,它不会运行,并且:
> systemctl status foobar.timer
? foobar.timer - Local Daily Tasks Timer
Loaded: loaded (/etc/systemd/system/what.timer; enabled; vendor preset: enabled)
Active: inactive (dead)
Trigger: n/a
Run Code Online (Sandbox Code Playgroud)
它声称已加载并启用,但不活动(已死)。这尤其令人困惑,因为我已经按照这种模式编写了其他计时器并且它们都可以工作...o_O?
除了重新启动系统(我不喜欢这样做,它是一个活动服务器)之外,我已经完成了所有工作。
除了仅发送回复(或不发送)之外,有没有办法让 Linux 系统在从另一台设备 ping 时做出反应或执行某些操作?
这是为了“研究”而不是务实的目的——我想知道这是如何工作的,因为我下面的猜测不是。换句话说,我不想要一个涉及/etc/network/interfaces或任何其他特定于发行版或 NetworkManager 的答案。
请不要将其作为提供此类答案的问题的重复项而关闭。
我正在尝试使用常规(非交叉)以太网电缆连接两个 GNU/Linux 系统。有传言说,现在这应该不成问题了。
我试图做的是为两台机器上的接口添加一个私有IP:
ip addr add 10.0.0.1 dev eth0
Run Code Online (Sandbox Code Playgroud)
在10.0.0.2另一台机器上。两者都没有连接到可以通过这种方式识别的网络。
然后我添加了来回路线:
ip route add 10.0.0.2 via 10.0.0.1
Run Code Online (Sandbox Code Playgroud)
反之亦然。ip addr随后,和的输出ip route似乎是正确的(见下文)。根据约翰的评论,我也尝试过这个而不添加任何路线;在这种情况下,ping 就会超时。
两台机器的 iptables 都是开放的;INPUT、OUTPUT 和 FORWARD 都是 ACCEPT,没有任何规则。
但当我尝试 ping 时会发生以下情况:
> ping 10.0.0.2
PING 10.0.0.2 (10.0.0.2) 56(84) bytes of data.
From 10.0.0.1 icmp_seq=1 Destination Host Unreachable
From 10.0.0.1 icmp_seq=2 Destination Host Unreachable
Run Code Online (Sandbox Code Playgroud)
请注意,返回此值的是本地接口 (10.0.0.1)。
这里需要什么额外的步骤和/或我哪里出错了?
使用后的路由表ip route ...如下所示:
default via 192.168.0.1 dev wlan0
10.0.0.2 …Run Code Online (Sandbox Code Playgroud) 有没有办法在 Linux 机器上使用 Maildir 代替 mbox?
在某些网站上,建议添加/etc/aliases:
myuser: /var/mail/myuser/maildir
Run Code Online (Sandbox Code Playgroud)
我已经发出了newaliases命令,但没有起作用。
在通过时:
info coreutils 'dd invocation'
Run Code Online (Sandbox Code Playgroud)
我碰到:
dd if=/dev/zero of=/dev/null count=10MB & pid=$!
Run Code Online (Sandbox Code Playgroud)
是什么$!用的?
我有一个带有循环的脚本
while read host
do
./script &
done
Run Code Online (Sandbox Code Playgroud)
我想知道在后台启动 ./script 并在脚本中使用它的当前进程的进程 ID。
我proc在(Debian 衍生的)Raspberry Pi 操作系统上的 fstab 中有一个挂载条目。这个有必要吗?在我的电脑上(运行 Arch linux)我没有这个,但是(当然)proc被安装了。
fstab行:
proc /proc proc defaults 0 0
Run Code Online (Sandbox Code Playgroud)
uname -a:
Linux website 4.19.66-v7+ #1253 SMP Thu Aug 15 11:49:46 BST 2019 armv7l GNU/Linux
Run Code Online (Sandbox Code Playgroud) 我注意到在 Debian 上寻找 jinput 库(我相信这里的“j”意味着这是一个 Java 特定的库,而不是一个简单的包装器),有两个包可能适用:
libjinput-java/stable 20100502+dfsg-7 all
Java Game Controller API
libjinput-jni/stable 20100502+dfsg-7 armhf
Java Game Controller API (jni)
Run Code Online (Sandbox Code Playgroud)
请注意,这是一个 ARM 系统。我知道其他语言有时有两种实现方式,一种需要编译的更快的实现,另一种不需要编译的“纯任何”(在本例中为 java)。后者在这里似乎不太可能,但我不确定;第一个作为适用于“所有”平台的包出现这一事实与第二个相比很有趣,后者是特定于体系结构的列表。
那么,在 Debian 命名法中,-java包和-jni包之间有什么区别?
我现在猜测这个-jni包允许这个库“反向”使用,即从 C/C++ 中使用,如果有人可以确认或否认......