我需要创建一个脚本,它允许传递命令行参数并检查它是否存在于运行脚本的目录中的目录中。如果它列出内容以及是否不打印错误消息。 所以在命令行我应该键入./check.sh测试(现有目录) 和脚本应该运行。现在我不明白如何使用应该是$ 1的测试。在脚本中,我想花1美元,并根据现有目录进行检查。但是如果我这样做:我学习bash,与命令行参数混淆
#!/bin/bash
DIR=$1
cd DIR
ls
这是行不通的,因为DIR不会在参数取(在这种情况下测试) 我知道我需要使用if-else块,但我不明白如何获得我需要的信息。请有人帮我解决这个问题。
您忘了'$'试试'cd $ DIR' –
您需要使用$ DIR,您可以使用'test(1)'实际测试目录是否存在。就目前来看,如果DIR不存在,你的'ls'将在当前目录中运行。你也可以将它缩短为'cd $ DIR && ls'。 –
其实你不必cd到$ DIR。你可以简单地做'ls $ DIR' –