gpt4 book ai didi

linux - 将 linux 变量设置为命令行输出

转载 作者:太空宇宙 更新时间:2023-11-04 04:14:27 24 4
gpt4 key购买 nike

我正在使用 QNX 修改一些文件,然后输出有关这些文件的一些信息。该过程类似于以下内容:查找目录中的某些文件如果名称小于某个值 执行dd命令 输出文件-信息-状态

find $DIR -type n \( ! -iname "*sub*" \) -exec basename {} |
while read fname
do
if [ $(printf '%d\n' 0x$fname) -lt 31 ] #if file is < 31
then
dd bs=1 skip=67 count=1 if=/path/$fname/random of=/tmp/$fname
echo -n " "$fname" " #output file name
TEMP=$(</tmp/$fname) #temporary file is in
hd -A x /tmp/$fname | gawk '{printf $2}'

if [ $fname == 06 ]; then
COM="Testing on 06" # this is temporary
elif [ $fname == 08 ]; then
case "?? hex value of $2 ?? in
00) COM="DOWN" ;; #again, not sure what works
0x01) COM="UP" ;;
02) COM="Pass Through Mode" ;;
*) COM="ERROR" ;;
esac
else
if [[ $STATE = 0x00 ]]; then #doesn't work either
COM="DOWN"
elif [ "(hd -A x /tmp/$fname | gawk '{printf $2}')" == 0x01 ]; then
COM="UP"
else
COM="ERROR $STATE "
fi
fi

echo " " $COM



fi
done

我需要在 dd 输出的十六进制值和十六进制数字之间进行比较,甚至是整数比较。

最佳答案

您可以将结果从特定命令发送到 stdout 存储在变量中,方法是将其括在 ` 引号中:

linecount = `cat text.txt|wc -l`

关于linux - 将 linux 变量设置为命令行输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17329419/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com