在shell脚本中运行shell脚本 - 好还是坏?

时间:2011-03-01 03:28:26

标签: bash shell scripting

最近我在学校上了一份作业,我们将用Bash Scripting Language编写一个小程序。

这个shell脚本应该在命令行上接受一些位置参数或参数。

现在,在if-else语句的帮助下,我检查参数是否存在,如果参数存在,脚本会执行它应该执行的操作,但如果参数不存在 - 我会显示错误消息,提示用户输入参数并将参数再次传递给同一个shell脚本...

现在,我想知道这种方法在Bash Programming范例中是好还是坏。我有点怀疑这可能会在后台运行太多任务,这些任务会保持打开状态或从未结束并继续消耗内存......请帮忙。

这是一个小片段(假设脚本名称为script1.bash):

 #!/bin/bash

 if [ $# -gt 0 ]; then
      read -p "Please enter your name: " name
      script1.bash $name
 elif [ $# -eq 1 ]; then
      echo "Your name is $1!"
 fi

1 个答案:

答案 0 :(得分:4)

这是......有问题的: - )

主要问题是,每当有人拒绝输入他们的名字时,你就会产生一个子壳。

你会更喜欢这样的事情:

#!/bin/bash
name=$1
while [[ -z "$name" ]] ; do
    read -p "Please enter your name: " name
done
echo "Your name is $name!"

产生 no 子壳。