如何阻止bash for循环执行空列表(How to stop a bash for loop from executing for an empty list)
我使用一个简单的bash脚本从FTP服务器读取文件,转换为dos格式,然后移动到另一个文件夹:
#!/bin/bash SOURCE="$1" DESTINATION="$2" # Use globbing to grab list of files for x in $1/*.txt; do f=$(basename $x) todos $x echo "Moving $x to $DESTINATION/$f" mv $x $DESTINATION/$f done
一个非常简单的问题 - 当没有要移动的txt文件时,如何停止循环执行?
I am using a simple bash script to read files from an FTP server, convert to dos format and then move to another folder:
#!/bin/bash SOURCE="$1" DESTINATION="$2" # Use globbing to grab list of files for x in $1/*.txt; do f=$(basename $x) todos $x echo "Moving $x to $DESTINATION/$f" mv $x $DESTINATION/$f done
A really simple question - how do I stop the loop executing when there are no txt files to be moved?
原文:https://stackoverflow.com/questions/50711230
最满意答案
您的一个参数与列名称相同:AGENCYNO。 由于范围界定的方式,这评估为
1=1
。 这就是为什么提供参数唯一名称的好习惯,例如通过在p_
前加上它们。你应该找到
AND c.PERIODE = p_period AND c.AGENCYNO = p_agencyNo
返回所需的一行。 严格来说,您不需要将
period
名称更改为p_period
因为它已经与periode
区分开来。 但一致性是软件工程的一个优点。One of your parameters has the same name as the column: AGENCYNO. Because of the way scoping works this evaluates to
1=1
. This is why it is good practice to give parameters unique names, for example by prepending them withp_
.You should find that
AND c.PERIODE = p_period AND c.AGENCYNO = p_agencyNo
returns the desired one row. Strictly speaking you don't need to change the name of
period
top_period
because it is already distinguished fromperiode
. But consistency is a virtue in software engineering.
相关问答
更多-
Oracle EXISTS查询未按预期工作 - DB链接错误?(Oracle EXISTS query is not working as expected - DB Link bug?)[2023-11-11]
查看第一个查询的解释计划。 我怀疑有一个错误,并且查询计划可能会显示如何进行无效重写。 Have a look at the explain plan for the first query. I suspect there is a bug, and the query plan may show how an invalid rewrite is being done. -
改为使用它: if (window.getComputedStyle(document.getElementsByTagName('body')[0]).cursor == 'pointer') Use this instead : if (window.getComputedStyle(document.getElementsByTagName('body')[0]).cursor == 'pointer')
-
Oracle Date包含的信息多于显示的信息:小时,分钟和秒。 如果你只对日期部分感兴趣,你应该使用trunc() order by trunc(MODIFIED_DATE) desc, CITY asc Oracle Date contains more information than displayed : hour, minutes and second. If you are only interested in the date part you should use trunc() ord ...
-
ToList()不能返回null但是空列表: if (_getData.Any()) { foreach (var e in _getData) { // some logic here to update the event etc } } else { // some logic to create an event } ToList() can't return null but empty list: if (_getData.Any()) { fore ...
-
对于延迟回复此事,我深表歉意。 要记住的一件事是WaitUntilReady正在监视浏览器的“Ready”标志。 一旦浏览器完成主HTML页面(例如MyPage.html)以及任何引用的资源(图像,css文件,js文件等),就会设置此标志。 它没有考虑在加载页面后由于JavaScript获得控制而启动的任何Ajax回发。 Ajax Postbacks(通常在从Web服务器获取数据时通过某种类型的旋转圆圈直观显示)可能导致在WaitUntilReady将控制权返回到测试代码后很长时间内修改DOM。 如果设置执 ...
-
Oracle形成游标问题(Oracle forms cursor issue)[2024-02-28]
它是哪种形式的版本? 如果它抱怨LEFT JOIN ,那可能是6i或什么的。 以前的(非常陈旧的)表单版本的PL / SQL引擎并不完全遵循数据库的PL / SQL引擎,因此并非所有工作在数据库中的东西都在Form中工作。 因此,我建议你尝试使用旧的Oracle外连接运算符(+)。 此外,如果BDATE列的数据类型是DATE ,则应该使用DATE值而不是字符串。 '01-Jul-2017'是一个字符串。 DATE '2017-07-01'是日期(文字)。 最后,说你的代码在SQL * Plus中工作正常 - ... -
您的一个参数与列名称相同:AGENCYNO。 由于范围界定的方式,这评估为1=1 。 这就是为什么提供参数唯一名称的好习惯,例如通过在p_前加上它们。 你应该找到 AND c.PERIODE = p_period AND c.AGENCYNO = p_agencyNo 返回所需的一行。 严格来说,您不需要将period名称更改为p_period因为它已经与periode区分开来。 但一致性是软件工程的一个优点。 One of your parameters has the same name as the ...
-
试试以下: WebDriverWait wait = new WebDriverWait(dr, 30); wait.until(ExpectedConditions.jsReturnsValue("return document.readyState==\"complete\";")); void waitForLoad(WebDriver driver) { ExpectedCondition
pageLoadCondition = new ExpectedC ... -
如果您只想构建一个逗号分隔的结果字符串,那么有很多更容易的方法。 一种直接的,天真的方式,不依赖于任何神奇的STUFF功能就是这种模式: DECLARE @result varchar(max); SET @result = ''; SELECT @result = @result + ',' + ColumnValueToUse FROM MyTable WHERE
PRINT @result; 然后你可以剥掉第一个逗号。 结果将是“MyTable”表中“ColumVal ... -
在第二个查询中,您有一个外部联接。 在第一个查询中,您没有任何类型的连接; 你只需要从t中选择一个where子句,其中t.id之后有一个(+)。 我不知道为什么语法不会返回错误; 但是当t中不存在d.id时,该子查询不返回任何行,这就是当更新值应该是标量子查询的输出时更新的工作方式:如果子查询没有返回任何行,则update语句将更新NULL字段。 你没有要求一种不同的方式来使更新工作,但如果你想看到一个,这里就是。 毫无疑问,你知道如何做到这一点; 为其他论坛成员的利益提供它。 update d_dim ...