簡體   English   中英

正則表達式bash中的wine目錄

[英]Regex a wine directory in bash

我正在編寫一個小的shell腳本,該腳本在我的wine目錄中啟動一個程序。 我的挑戰是,我已將此計算機安裝在多台計算機上,有些安裝了64位,有些使用了32位,有些使用了英語,有些使用了挪威當地人。

$HOME/.wine/drive_c程序文件目錄的名稱因此可以從Program FilesProgram Files (x86)programfiler等更改。

我到目前為止的bash行是這樣的:

(cd $HOME/.wine/drive_c/[Pp]rogram*/... ; wine ...)

但是, [Pp]rogram*行不起作用,有人建議嗎?

這應該可以正常工作,但是由於在64位安裝上您將同時具有Program FilesProgram 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM