如何用bash语言执行命令并检查其结果

时间:2016-02-12 08:29:42

标签: linux bash

我正在尝试学习bash语言。如何使用动态参数执行Linux命令并检查返回的字符串是否为空。例如:

if ls "my_directory123" == `emtpy string` then
    ....
end

4 个答案:

答案 0 :(得分:1)

如果您在第一个位置参数"$1"中测试空目录传递,则可以测试:

if test -z "$(ls -A "$1")" ; then

if [ -z "$(ls -A "$1")" ]; then

test[关键字的等效用途。

答案 1 :(得分:0)

将命令的结果分配给变量并将其作为字符串进行比较。

result=$(ls "my_directory123")
if [ "$result" = "" ]
then
  echo empty
fi

答案 2 :(得分:0)

TEST=`ls`
if [$TEST == ""]; then
echo "do something"
fi

如果你想在终端中运行它,你一次键入每行。如果您愿意,可以将所有内容放在

前面的文件中
#!/bin/bash 

在运行后生成可执行字符串

chmod +x FILENAME

答案 3 :(得分:0)

需要调用命令替换并检查返回值。有些人认为是这样的

  x=$(ls path)    
  if [ -z "$x" ] ;then echo empty ; else echo no empty; fi