我創建了一個bash腳本,它將使用SQL * Loader加載CSV文件。請參考下面的代碼:在bash腳本中使用通配符
#!/bin/bash
FILENAME = '/u02/logs/$(date -d '2 days ago' +%Y-%m-%d)*.csv'
# LOAD CSV FILE USING SQL*LOADER
sqlldr username/[email protected] control=control.ctl data=$FILENAME
然而,當我嘗試運行此腳本時,我收到以下錯誤:使用SQL * Loader-500:無法打開文件(/ U02 /日誌/ *
2011-11 -06 *
.csv)。我發現問題是我的*通配符,它被解釋爲一個字符串,而不是bash中的通配符。
有沒有辦法告訴bash的,我的星號(*)是一個通配符,而不是一個字符串?
感謝您的支持。
您的'$ FILENAME'使用單個滴答聲。還沒有嘗試過,但你有沒有嘗試過使用雙引號? –
是的。實際上,我可以回顯完整的$ FILENAME。但是當我將它放入我的SQL * Loader中時,它根本就不起作用。 – epsac
你會發現解決方案將比你期待的更難。 –