gpt4 book ai didi

bash - 在 if 语句中传递参数

转载 作者:行者123 更新时间:2023-11-29 09:46:31 24 4
gpt4 key购买 nike

在下面的代码中,我试图搜索文件。在这里,我想排除那些以“#”开头的文件

请帮我解决这个问题。

#!/bin/bash
while read -r name
do
if [[ $name!= "#" ]]
then
find ./2016* -name *files.txt
fi
done < file.txt

出现以下错误:

conditional binary operator expected
syntax error near `"#"'
if [[ $name!= "#" ]]

最佳答案

  1. $name!=

    之间添加空格
  2. 您需要排除以 # 开头的行。不仅仅是只有 # 的行。为此,将模式更改为 "#*"

  3. find 命令中使用变量 name

#!/bin/bash

while read -r name
do
if [[ $name != "#*" ]]
then
find ./2016* -name "$name"
fi
done < file.txt

这里提到了一种排除注释行的更好方法 - bash loop skip commented lines

关于bash - 在 if 语句中传递参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38848148/

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