首页 > 解决方案 > 在 bash 中使用 if 后预期的二元运算符

问题描述

我最近开始接近 bash 并且我正在尝试执行以下操作:搜索某个单词是否在某个文件中。如果不只是退出,则将其写入另一个文件,但我在 if 语句中得到了一个二进制运算符。代码是

#!bin/bin/bash
var=$1
if [ grep var file1.txt]
then
    echo var >| file2.txt
else
    exit -1
exit 0

我也愿意接受任何建设性的批评、bash 技巧和 bash 中的良好实践

已修复----我发现我[]的 if 语句有问题,但我设法解决了它,我还了解到$如果你想打印变量,你需要一个,退出代码也是从 0 到 255 更新代码 - - -

#!bin/bin/bash
var=$1
if [ grep "$var" file1.txt]
then
    echo "$var" >| file2.txt
else
    exit 1
exit 0

标签: linuxbashubuntu

解决方案


推荐阅读