if [ adb shell ls ${test_dir} 2> /dev/null ] ;
then
echo "files exist"
else
echo "files do not exist"
fi
if [ ! adb shell ls ${test_dir} 2> /dev/null ] ;
then
echo "files exist"
else
echo "files do not exist"
fi
添加!
对我不起作用。
在表达式中:
if [ adb shell ls ${test_dir} 2> /dev/null ]
重定向2>/dev/null
重定向stderr
上的任何消息(ABD shell ls${test_dir}
导致的任何错误/dev/null
被称为bit bucket
。本质上,bit bucket是一个无处可去的系统设备节点。因此,您可以将您喜欢的任何输出复制或重定向到/dev/null
,而它只是消失了(这意味着它不会被复制到任何地方,也不会被进一步重定向--它只是进入bit
你问题的第二部分问如何否定(颠倒)一个测试子句。简单的答案是在测试的前面放一个'!'
。
如果你有进一步的问题请告诉我。
在进一步讨论和整理adb
是一个android工具之后,解决方案是简单地检查命令本身执行后的返回,例如。
$ adb shell ls ${test_dir} 2> /dev/null
然后用
if [ "$?" -ne '0' ]; then
# handle error
fi
问题内容: 我想用grep搜索看起来像这样的字符串: 我试过了,但是shell删除了单引号argh .. 什么是正确的搜索? 问题答案: 为我工作。 转义第一个以匹配文字的方式,而不是使其成为零个或多个匹配字符: 将匹配零个或多个匹配项,而while 匹配表达式之后 在周围使用双括号(请参见此处的示例) 使用后,不仅符合 一个 你单引号字符,但其中几 单引号根本不需要转义,因为它们包含在受双引号限
我想删除文件的标题,并替换同一文件中没有标题的内容。 示例: 输出应该是: 情况是我不想为此更改创建任何新文件。可以这样做吗? 我尝试了: 但这不起作用。感谢您的帮助!
我想做一个程序,要求你输入一些数据作为一个字符串,然后如果字符串超过6个字符长,它会要求你再做一次,直到你输入一个少于6个字符的答案,然后继续下一个问题,我怎么做?
问题内容: 如何在Python中执行以下操作? 我需要一个数组的元素,但是要从头到尾。 问题答案: 你可以通过以下方式使用该函数: 请注意,它不会返回列表。你可以使用来获得反向列表。
问题内容: 这可能吗?不必就位,只需寻找一种方法来反转元组,以便我可以向后迭代。 问题答案: 有两种惯用的方法可以做到这一点: 要么 由于元组是不可变的,因此没有办法就地反转元组。 编辑: 在@lvc的注释的基础上,返回的迭代器将等效于 也就是说,它依靠具有已知长度的序列来避免必须实际反转元组。 至于哪种效率更高,我怀疑如果您都使用它,并且元组很小,而当元组很大时,可能就是这样,但是在python
问题内容: 我正在研究一个很长的Bash脚本。我想将CSV文件中的单元格读取到Bash变量中。我可以解析行和第一列,但不能解析其他任何列。到目前为止,这是我的代码: 它仅打印第一列。作为附加测试,我尝试了以下操作: $ y是空的。所以我尝试了: $ y是。为什么? 问题答案: 您需要使用而不是: 请注意,对于一般用途的CSV解析,您应该使用专门的工具,该工具可以处理带有内部逗号的带引号的字段,以及