我正在尝试学习bash语言。如何使用动态参数执行Linux命令并检查返回的字符串是否为空。例如:
if ls "my_directory123" == `emtpy string` then
....
end
答案 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