我正在編寫一個腳本,它將爲給定流程實例選擇最後創建的文件。在腳本中運行ls時,通配符不起作用
我在腳本中使用的命令是
CONSOLE_FILE=`ls -1 "$ABP_AJTUH_ROOT/console/*${INSTANCE}*" | tail -1`
,但同時得到執行腳本,沒有被處理,
ls -1 '....../console/*ABP*'
因爲單引號,*
上面的命令變化作爲通配符並且它給出如下輸出:
ls -1 $ABP_AJTUH_ROOT/console/*${INSTANCE}* | tail -1
+ ls -1 '/tcusers1/dev/aimsys/devtc1/var/dev/projs/ajtuh/console/*UHMF_RT_1085*'
+ tail -1
ls: /tcusers1/dev/aimsys/devtc1/var/dev/projs/ajtuh/console/*UHMF_RT_1085*: No such file or directory
+ CONSOLE_FILE=''
它正在命令行從命令刪除「,但同時使用上面的腳本
[email protected]!DEV:devtc1/Users/RB/AIMOS_CLEANUP_CANSUB> ls -l '/tcusers1/dev/aimsys/devtc1/var/dev/projs/ajtuh/console/*UHMF_RT_1085*'
ls: /tcusers1/dev/aimsys/devtc1/var/dev/projs/ajtuh/console/*UHMF_RT_1085*: No such file or directory
[email protected]!DEV:devtc1/Users/RB/AIMOS_CLEANUP_CANSUB> ls -l /tcusers1/dev/aimsys/devtc1/var/dev/projs/ajtuh/console/*UHMF_RT_1085*
-rw-r--r-- 1 devtc1 aimsys 72622 Feb 17 20:55 /tcusers1/dev/aimsys/devtc1/var/dev/projs/ajtuh/console/ADJ1UHMINFUL_UHMF_RT_1085_console_20150217_205519.log
-rw-r--r-- 1 devtc1 aimsys 177039 Feb 17 21:02 /tcusers1/dev/aimsys/devtc1/var/dev/projs/ajtuh/console/ADJ1UHMINFUL_UHMF_RT_1085_console_20150217_210203.log
你不需要路徑中的引號。 您可能需要在腳本中啓用調試,將這一行放在shebang下:** set -x ** – runlevel0 2015-03-02 13:02:59