作者CP64 (( ̄▽ ̄#)﹏﹏)
看板Linux
标题[问题] .desktop 档的设定
时间Sun Sep 15 02:38:43 2013
是这样的
我现在有一个 bash script
然後额外设定了一个 .desktop 让他可以直接用右键的方式执行
但是现在碰到一个问题:
有个程式在用这方法开启时会出错 显示说找不到某档案
但是已经确认过这档案确实在该在的位置
而且直接切到他的那个目录下用指令执行也都一切正常
後来发现是两边的 $PWD 不同导致的
用右键选单的 $PWD 是位在自己的家目录
想要请问一下 .desktop 要怎麽弄才能让它的 $PWD 会是那个程式所在的目录
--
#1G5hAego (StupidClown)
1F:→ CP64:之前有看过GPS显示现在位置在水库里的XD07/31 00:23
2F:推 G2S: 之前有看过G2S显示现在位置在水库里的XD 看错 吓到了......07/31 00:32
3F:推 Karrie1991:楼上XDDDD07/31 00:33
4F:推 CP64:XDDDD07/31 00:33
5F:推 steward135:G2S:CP64在他的推文中提到了你07/31 00:34
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 140.120.229.29
6F:→ Adama:script第一行先cd到程式所在目录 09/15 09:09
嗯... 可以提示一下怎麽做吗?
7F:推 brli7848:或者在desktop的Exec=放上完整的档案位置 09/15 09:16
8F:推 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 有啥比较简洁的写法吗?
目前是直接用取代的方式掐头去尾来着@@
==
9F:→ lantw44:用 basename 和 dirname ? 09/15 17:02
谢谢@@ 一想到处理就一头热的去弄完全忘了可以先查指令(つД‵)
※ 编辑: CP64 来自: 140.120.229.29 (09/15 17:05)