看板 Linux 關於我們 聯絡資訊
是這樣的 我現在有一個 bash script 然後額外設定了一個 .desktop 讓他可以直接用右鍵的方式執行 但是現在碰到一個問題: 有個程式在用這方法開啟時會出錯 顯示說找不到某檔案 但是已經確認過這檔案確實在該在的位置 而且直接切到他的那個目錄下用指令執行也都一切正常 後來發現是兩邊的 $PWD 不同導致的 用右鍵選單的 $PWD 是位在自己的家目錄 想要請問一下 .desktop 要怎麼弄才能讓它的 $PWD 會是那個程式所在的目錄 -- #1G5hAego (StupidClown)
CP64:之前有看過GPS顯示現在位置在水庫裡的XD07/31 00:23
G2S: 之前有看過G2S顯示現在位置在水庫裡的XD 看錯 嚇到了......07/31 00:32
Karrie1991:樓上XDDDD07/31 00:33
CP64:XDDDD07/31 00:33
steward135:G2S:CP64在他的推文中提到了你07/31 00:34
-- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.120.229.29
Adama:script第一行先cd到程式所在目錄 09/15 09:09
嗯... 可以提示一下怎麼做嗎?
brli7848:或者在desktop的Exec=放上完整的檔案位置 09/15 09:16
Bencrie:加上 Path=工作路徑 09/15 11:40
目前有問題的是按右鍵後那個被拿去傳入給 script 呼叫執行的程式有問題 並不是 script 本身有執行問題@@ == 後來是在 script 裏面 先用 readlink -f 把路徑還原成原本的路徑 (路徑上有 link) 再把他拆成 目錄 和 檔名 然後 cd 到目錄 直接為檔名過去才成功來著... == 順便想問一下 如果要用 sed 把像 /home/CP64/test/main.exe 這類的路徑 拆成 /home/CP64/test 和 main.exe 然後分別存進兩個變數 pattern 有啥比較簡潔的寫法嗎? 目前是直接用取代的方式掐頭去尾來著@@ ==
lantw44:用 basename 和 dirname ? 09/15 17:02
謝謝@@ 一想到處理就一頭熱的去弄完全忘了可以先查指令(つД‵) ※ 編輯: CP64 來自: 140.120.229.29 (09/15 17:05)