这是我的脚本示例:
#!/bin/bash
cd /upper/folder.test*/subfolder
ls
folder.test文件夹实际上命名为“folder.test13kwekrjk1234jk3”,它完全是随机的,所以我想使用外卡。 “Upper”文件夹在root中,我想要它,CD命令在脚本之外工作(我在根目录中执行它,就像脚本一样)
然而,当我执行时(使用./),它给了我:
“ - 没有这样的文件或目录] cd:/upper/folder.test*/subfolder”
是什么给出的?它在脚本之外工作,但它在脚本内部不起作用?我应该在脚本中以不同的方式做这个吗?
答案 0 :(得分:2)
你可以这样做,因为通配符实际上是通配符,它们的行为难以预测且不太可靠。
FOLDER=$(ls -1 /upper/folder.test*/subfolder | head -n1);
cd "$FOLDER"
ls
答案 1 :(得分:0)
当我尝试使用"〜"来尝试cd到我的主目录时,我遇到了一个相关的问题。在bash脚本中。
此代码在终端中有效,但不在我的脚本中:
cd ~/Documents/important_folder*
但是,以下代码在脚本中运行良好:
cd /home/my_username/Documents/important_folder*