我注意到/bin/echo我的 Ubuntu MATE 17.04 系统上有一个二进制可执行文件。
我想,这很奇怪,因为
$ type echo
echo is a shell builtinRun Code Online (Sandbox Code Playgroud)
粗略测试表明它/bin/echo与 Bash 内置函数做同样的事情echo:
$ /bin/echo foo
foo
$ /bin/echo $USER
zanna
Run Code Online (Sandbox Code Playgroud)
那么,为什么还有另一个echo独立于 Bash 程序的版本,我为什么或何时要使用它?
我有一个简单的echo打印输出,已添加到我的.bashrc:
echo "$(tput setaf 2)Wake up....."
sleep 2s
reset
sleep 2s
echo "$(tput setaf 2)Wake up....."
sleep 2s
reset
echo "$(tput setaf 2)Wake up neo....."
sleep 2s
echo "$(tput setaf 2)The Matrix has you......"
sleep 2s
reset
echo "$(tput setaf 2)Follow the white rabbit......"
sleep 2s
reset
cmatrix
Run Code Online (Sandbox Code Playgroud)
这会向终端打印一条消息,但我希望它看起来像是正在键入,并且字符之间具有一致的延迟。
在 Ubuntu 18.04 LTS 的终端中,当我写这个命令时:
echo -e "Hello\\\n"
Run Code Online (Sandbox Code Playgroud)
它给出了这个作为输出:
Hello\n
Run Code Online (Sandbox Code Playgroud)
但它应该打印,正如手册页所说:
Hello\
Run Code Online (Sandbox Code Playgroud)
也就是说,首先打印Hello,然后\是一个换行符(然后是另一个换行符)。问题出在哪儿?
请参阅以下几个echo -e命令及其输出:
man420@man420-X542UQ:~$ echo -e "HEllo\a\a\a\a\a\a\\\n"
HEllo\n
man420@man420-X542UQ:~$ echo -e "HEllo\\\n"
HEllo\n
man420@man420-X542UQ:~$ echo -e "HEllo\a\\\n"
HEllo\n
Run Code Online (Sandbox Code Playgroud) 我正在尝试-n使用该echo命令进行打印。但是如果我只是输入echo -n,它只会发出一个换行符,而不是显示出来-n,而是发出一个换行符。
根据这个问题“在 linux 脚本中使用“while read... ”
echo '1 2 3 4 5 6' | while read a b c;do echo "$a, $b, $c"; done
Run Code Online (Sandbox Code Playgroud)
结果:
1, 2, 3 4 5 6
Run Code Online (Sandbox Code Playgroud)
但是当我替换echo为printf
echo '1 2 3 4 5 6' | while read a b c ;do printf "%d, %d, %d \n" $a $b $c; done
Run Code Online (Sandbox Code Playgroud)
结果
1, 2, 3
4, 5, 6
Run Code Online (Sandbox Code Playgroud)
有人能告诉我是什么让这两个命令不同吗?谢谢~
我可以cat file.txt获取文件的内容,但我也想添加我自己选择的最后一行。
我试过管道,(cat file.txt ; echo "My final line") |但只有最后一条线穿过管道。我怎样才能加入猫和最后一行?
编辑澄清一点:我不想修改文件本身。我知道,如果是这种情况,我可以做echo "My final line" >> file.txt或echo "My final line" | tee -a file.txt但我只是尝试在此特定命令的上下文中执行附加操作,因此我可以通过管道连接file.txtand "My final line"。
重要提示:这个问题如何禁用麦克风自动调整其输入音量不包括这种情况。
这个问题是关于pulseaudio“module-echo-cancel”的音量自动调节功能。
我正在使用pulseaudio 模块module-echo-cancel,这里有正式记录。
您可以通过编辑/etc/pulse/default.pa和添加以下行来启用它:
load-module module-echo-cancel
Run Code Online (Sandbox Code Playgroud)
并用pulseaudio -k. 它有效。
但是文档没有告知如何禁用该模块在启用时执行的音量自动调整。
为什么运行echo $$inbash返回一个数字7190,而运行echo $只返回一个$?
所以,我一直在使用我的 Amazon Echo(大塔,而不是小“点”)作为蓝牙扬声器和我的 Ubuntu 笔记本电脑,没有任何问题。但几天前,它开始只显示为输入设备,根本不显示为输出设备。事实上,“Alexa”在连接到我的笔记本电脑时开始使用它的小扬声器而不是它自己的!我已经运行更新等,重新启动,断开重新连接,让 Alexa 忘记并重新与计算机配对都无济于事。
我不是 Ubuntu 的完全n00b,所以这有点令人沮丧。请帮忙?
echo ×10
command-line ×6
bash ×5
sound ×2
amazon ×1
bluetooth ×1
cat ×1
cpu ×1
cpu-load ×1
find ×1
microphone ×1
pipe ×1
process ×1
pulseaudio ×1