我想要我的输出:
VDD.
GND
AGNDSUB
VMEASPOS.
VMEASNEG
VREFEXT
Run Code Online (Sandbox Code Playgroud)
File1 具有以下信息:
Power and signal
VDD Digital Power This pin provides power supply connection for the digital
blocks.
GND Digital Ground This pin provides ground connection for the digital blocks.
AGNDSUB Ground This pin provides substrate connection.
VMEASPOS Digital Power Voltage to be measured.
VMEASNEG Ground Ground for the voltage to be measured.
VREFEXT Digital Power Reference voltage input of 1.024V %for VSENS calibration.
operating voltage
Run Code Online (Sandbox Code Playgroud) 我已经习惯了 I/O 重定向。我已经觉察到的&>快捷方式2>&1。我相信它也可以作为>&. 可能存在我不知道的细微差别。
使用它时,它必须位于命令行的中间:
ls test.txt missing &> output.txt
Run Code Online (Sandbox Code Playgroud)
但是,使用长格式时,它必须位于命令行的末尾:
ls test.txt missing > output.txt 2>&1
Run Code Online (Sandbox Code Playgroud)
尝试将快捷方式放在最后时会导致错误:
ls test.txt missing > output.txt &>
-bash: syntax error near unexpected token `newline'
Run Code Online (Sandbox Code Playgroud)
为什么是这样?是什么让快捷方式与众不同,以至于它必须内联使用,而不是像长格式方法那样在行尾使用?
如果我有一个脚本,可以为它处理的每个文件将不同的数据类型发送到 STDOUT。如何分离每种数据类型,以便读取 STDIN 的另一个脚本知道哪个是什么?
例如。我有一个脚本,它为它处理的每个文件生成两个不同的(未知)字符串和两个不同的(未知)数字。然后还有另一个脚本从 STDIN 读取来处理每个给定的字符串、数字。如何格式化第一个脚本的输出,以便可以使第二个脚本正确识别每种类型?
我习惯于通过 JSON 序列化数据,用于网络,但我想知道是否有更轻量级或内置的 STDIN/STDOUT 解决方案?也许一些独特的分隔符或我缺少的东西?
我正在尝试在 bash 脚本的 if 语句中使用 tput 命令,但由于某种原因,它的行为出乎意料。当运行命令然后仅在 if 语句中检查退出代码时,事情可以正常工作,但是,当直接在 if 语句中运行命令时,事情不再起作用。这是一个简单的脚本来说明我的问题:
#!/bin/bash
tput setaf 1
if [ $? ]
then
echo "first if works"
fi
if tput setaf 1
then
echo "second if works"
fi
Run Code Online (Sandbox Code Playgroud)
运行此脚本只会打印“如果有效,则首先”。这两个 if 语句不应该工作,因为它们是等效的吗?我错过了什么吗?顺便说一句,这是在 FreeBSD 上运行的,以防万一。
如何创建一个脚本来检查提供的文件是否存在,如果不存在则创建错误消息。我有以下代码,但它不起作用:
#!/bin/bash
echo "enter file name:"
read source
file= $source
if [ -f "$file" ] && find "$file" | grep -q .
then
echo "the file exists."
else
echo "the file does not exist."
fi
Run Code Online (Sandbox Code Playgroud) bash ×3
exit-status ×1
files ×1
freebsd ×1
linux ×1
shell-script ×1
stdin ×1
stdout ×1
tput ×1