【发布时间】:2015-04-03 08:07:17
【问题描述】:
我正在尝试编写一个小脚本来列出给定变量中的目录。
但是,在将我的输入读入变量PATH 后,我根本无法运行ls。
#!/system/bin/sh
echo "enter directory for listing"
read "PATH"
ls "$PATH" -R > list.txt
退出:
ls: not found
...并且什么都不写到list.txt。
【问题讨论】:
-
不要使用
PATH你正在炸毁$PATH变量,这是shell 查找要运行的命令的方式。通常不要使用任何 ALL_CAPS 变量。这些是为外壳/等“保留”的。用法。告诉我们您的实际错误是什么也会很有帮助。 -
@JONAS402,...Etan 已经告诉过你原因和解决方法。
-
@JONAS402... 将变量从
PATH重命名为path,就完成了。PATH变量用于确定在哪里寻找可执行文件;覆盖它,shell就找不到ls了。 -
...所以,这与使用“变量”无关,而是关于特定的变量名称。
-
是的,我知道你遇到了什么错误,但我的意思是我不应该弄清楚。你应该把它包括在内,因为这是你问题的重点。