[英]Regex a wine directory in bash
我正在編寫一個小的shell腳本,該腳本在我的wine目錄中啟動一個程序。 我的挑戰是,我已將此計算機安裝在多台計算機上,有些安裝了64位,有些使用了32位,有些使用了英語,有些使用了挪威當地人。
$HOME/.wine/drive_c
程序文件目錄的名稱因此可以從Program Files
, Program Files (x86)
, programfiler
等更改。
我到目前為止的bash
行是這樣的:
(cd $HOME/.wine/drive_c/[Pp]rogram*/... ; wine ...)
但是, [Pp]rogram*
行不起作用,有人建議嗎?
這應該可以正常工作,但是由於在64位安裝上您將同時具有Program Files
和Program Files (x86)
,因此它將始終擴展為Program Files
,這在您的情況下可能是錯誤的。
我將使用以下內容動態確定正確的路徑:
look_for='My Program/myprogram.exe'
for dir in "$HOME"/.wine/drive_c/[Pp]rogram*[Ff]*/; do
if [ -e "${dir}${look_for}" ]; then
cd "${dir}"
wine [...]
exit $?
fi
done
這會遍歷所有可能的“程序文件”目錄,並檢查$look_for
指定的文件/目錄$look_for
位於其下方。 如果這樣做,它將$look_for
的目錄組件, cd
放入其中並從那里運行wine
。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.