新建shell脚本,我想测试一下,看看是否我创建的变量是有效的目录,如果没有用户发送到while循环进入目录,只允许出口输入一个有效的目录时。如何将“if”和“while循环”语句组合在一起?
到目前为止,这是我的脚本是这样的:
~/bin/bash
source_dir="$1"
dest_dir="$2"
mkdir /#HOME/$source_dir
mkdir /#HOME$dest_dir
if [ -d "$source_dir" ]
then
echo "$source_dir is a valid directory"
fi
while [[ ! -d "$source_dir" ]]
do
echo "Please enter a valid directory"
read source_dir
done
有没有办法将这些组合成一个单一的声明?
没有什么错你的方法。不过,如果您将* if *的else分支内的*移动*,我会认为您的代码的意图更易于理解。然而,这是编程风格的一般问题,并且与shell脚本无关。 – user1934428