bash腳本是我的腳本的例子:使用通配符
#!/bin/bash
cd /upper/folder.test*/subfolder
ls
的folder.test文件夾5事實上名爲類似「folder.test13kwekrjk1234jk3」,它是完全隨機的,所以我想用通配符。 「上」文件夾在根目錄中,我想要它和CD命令在腳本之外工作(並且我正在根目錄中執行它,就像腳本一樣)
但是,當我執行(使用。 /),它給了我:
「 - 沒有這樣的文件或目錄] CD:/upper/folder.test*/subfolder」
是怎麼回事?它在腳本之外工作,但不會在腳本內工作?我應該在劇本中以不同的方式做到這一點嗎?
我不能讓這個失敗像你有它,但也要注意,你所擁有的腳本只會在第一次出現時纔會「ls」,而不是其他時間。然而,像ls/upper/folder.test * /子文件夾這樣的東西可以工作。另外,你使用的是什麼操作系統或版本的bash? –
它適用於我的bash版本。你有多個目錄與模式匹配嗎? – Nicolas
這不是一個混淆通配符與文件名* globbing *的情況嗎?像'ls/upper/folder.test */subfolder'這樣的東西可以工作,因爲星號的外殼擴展,但在'cd'命令中擴展是沒有意義的。你只能'cd'到*一個*文件夾 – pavium