Bash 如何存储命令状态为[shell script]的变量

Bash 如何存储命令状态为[shell script]的变量,bash,shell,unix,Bash,Shell,Unix,我正在通过grep命令搜索文件中的一个单词。现在我需要将状态存储在变量V1中,变量为0或1。我怎么做 tail -n 2 test.s | grep -q "FA|"$(date "+%m/%d/%Y") tail -n 2 test1.s | grep -q "FA|"$(date "+%m/%d/%Y") tail -n 2 test2.s | grep -q "FA|"$(date "+%m/%d/%Y") 如果找到上述搜索词,则变量V1值应为0,否则为1 文件内容: keytran|2

我正在通过grep命令搜索文件中的一个单词。现在我需要将状态存储在变量V1中,变量为0或1。我怎么做

tail -n 2 test.s | grep -q "FA|"$(date "+%m/%d/%Y")
tail -n 2 test1.s | grep -q "FA|"$(date "+%m/%d/%Y")
tail -n 2 test2.s | grep -q "FA|"$(date "+%m/%d/%Y")
如果找到上述搜索词,则变量V1值应为0,否则为1

文件内容:

keytran|20160111|test.s
submKeyqwqwqw|NDM|Jan 11 01:34|test.s|6666666|sdgdh-RB|ltd.ET.CTS00.act
loadstatus|thunnnB|6666666|FA|01/16/2016|01:34:57|01/16/2016
|01:37:13|load|test.s

请根据您的shell,建议在每次命令执行后,前一个命令的状态在一个特殊变量中可用:bash family
$?
,csh family
$status$

#/bin/bash
tail -n 2 test.s | grep -q "FA|"$(date "+%m/%d/%Y")
V1=$?


分享test.s的内容?看看这个条目。我试图用垃圾测试执行您的命令。s,然后执行echo$?,得到1。所以我认为你应该做一个赋值,比如x=$?在执行greps之后。
#/bin/csh
tail -n 2 test.s | grep -q "FA|"$(date "+%m/%d/%Y")
set V1=$status