我正在写一个bash脚本,让cd'ing到Dropbox文件夹(我为uni存储课程)更容易。我决定使用参数将我直接放在文件夹中几个星期,或者父目录或带有我所有参考资料的目录。我还决定使用递归验证输入(最初我通过将递归语句放在do while循环中创建了一个无限循环)。代码如下:
#!/bin.bash
#changes to ~/Dropbox/UCP120/
function recurCall () {
echo "Invalid input: $arg1 does not exist."
echo "Enter a valid input"
read inputLoop
validateInput $inputLoop
}
function validateInput() {
arg1="$1"
reference="r"
##snip##
##if DIR is !null but non-existent loop and ask for input
elif [[ ! -d .../UCP120/"$arg1"/ || ! -d .../UCP120/Week\"$arg1"/ ]]; then
recurCall $arg1
##Recursive solutions don't require iterative control structures.
#while [[ snip (see if above) ]]; do
# recurCall $arg1
#done
fi
}
##Call the function. Get this ball rolling
validateInput $1
我的问题是:
谢谢,如果我问了一个不恰当的问题,我道歉。但是,我希望拥有丰富经验的互联网可以帮助我和我对这些概念的理解。
编辑:如果然后在validateInput中删除语句。交换函数名称,因为它们以这种方式更有意义。在条件下移除希望缓解屏幕宽度。
编辑:缩短目录路径以进一步减轻屏幕宽度。
答案 0 :(得分:0)