如何不顯示當前掛載點 [論壇 - Ubuntu 哈啦]


正在瀏覽:   1 名遊客


 到底部   前一個主題   下一個主題  [無發表權] 請登錄或者註冊

(1) 2 3 »


如何不顯示當前掛載點
會員五級
註冊日期:
2008/6/15 2:56
所屬群組:
已註冊使用者
等級: 38
HP : 0 / 945
MP : 757 / 38514
EXP: 81
離線
比方我用pwd目前的路徑為
/home/hepha/firefox
用df看是掛載點
df |awk '{print $6}'|sed '1d'|sed '/^\/$/d'

/lib/init/rw
/proc
/sys
/var/run
/var/lock
/dev
/dev/shm
/dev/pts
/sys/fs/fuse/connections
/lib/modules/2.6.28-14-generic/volatile
/d1
/d2
/fish
/home
/iso
/live
/proc/bus/usb
/sys/kernel/security
/proc/sys/fs/binfmt_misc
/home/hepha/.gvfs
/media/disk

那我的路徑如何不顯示/home,使其成為/hepha/firefox,在用echo顯示?
謝謝

2009/8/17 10:09
應用擴展 工具箱
回覆: 如何不顯示當前掛載點
會員三級
註冊日期:
2009/7/4 14:52
所屬群組:
已註冊使用者
等級: 12
HP : 0 / 277
MP : 56 / 10450
EXP: 9
離線
試試這個 script:
#!/usr/bin/perl
use strict;
use warnings;

my $length = 0;
my $cwd = $ENV{'PWD'} . '/';
open MOUNTS, q{ df | awk '{print $6}' | };
while (<MOUNTS>) {
    chomp;
    $length = length if
        $cwd =~ /^$_\// and
        $length < length;
}
substr($cwd, -1) = "\n";

print substr($cwd, $length);



p.s.
改了應該有七八次了吧……
潔癖 ;-p

2009/8/17 10:51
願我撤回自己所加給世界的目的,學習認出它的真相,因而敞開心扉,接納它的真實目的。~《奇蹟課程》,W-55.5:7
應用擴展 工具箱
回覆: 如何不顯示當前掛載點
會員五級
註冊日期:
2008/6/15 2:56
所屬群組:
已註冊使用者
等級: 38
HP : 0 / 945
MP : 757 / 38514
EXP: 81
離線
可以用!
那在問一下可以指定路徑嗎?
謝謝

2009/8/17 15:38
應用擴展 工具箱
回覆: 如何不顯示當前掛載點
會員三級
註冊日期:
2009/7/4 14:52
所屬群組:
已註冊使用者
等級: 12
HP : 0 / 277
MP : 56 / 10450
EXP: 9
離線
我不太明白「指定路徑」的意思。

可以給個例子嗎?

hepha 寫到:
可以用!
那在問一下可以指定路徑嗎?
謝謝

2009/8/17 15:41
願我撤回自己所加給世界的目的,學習認出它的真相,因而敞開心扉,接納它的真實目的。~《奇蹟課程》,W-55.5:7
應用擴展 工具箱
回覆: 如何不顯示當前掛載點
會員五級
註冊日期:
2008/6/15 2:56
所屬群組:
已註冊使用者
等級: 38
HP : 0 / 945
MP : 757 / 38514
EXP: 81
離線
Mozzenior 寫到:
我不太明白「指定路徑」的意思。

可以給個例子嗎?

./cc /home/hepha/user
就程式後面代參數,你原本的只是讀取執行程式的位置

2009/8/17 15:52
應用擴展 工具箱
回覆: 如何不顯示當前掛載點
會員三級
註冊日期:
2008/5/5 16:36
所屬群組:
已註冊使用者
等級: 14
HP : 0 / 345
MP : 83 / 14185
EXP: 81
離線
看不懂你們再說什麼耶
可以說明一下嗎?

2009/8/17 16:03
應用擴展 工具箱
回覆: 如何不顯示當前掛載點
會員三級
註冊日期:
2009/7/4 14:52
所屬群組:
已註冊使用者
等級: 12
HP : 0 / 277
MP : 56 / 10450
EXP: 9
離線
把 script 改成底下這樣。有參數時會針對參數進行 strip,否則就拿現在的工作目錄來進行 strip。

#!/usr/bin/perl
use strict;
use warnings;

my $mounts = GetMounts();
if (0 == @ARGV) {
    print StripMount("$ENV{'PWD'}/", $mounts);
}
else {
    foreach (@ARGV) {
        print StripMount("$_/", $mounts);
    }
}

sub GetMounts {
    my @mounts;
    open MOUNTS, q{ df | awk '{print $6}' | };
    while (<MOUNTS>) {
        chomp;
        push @mounts, "$_" if $_;
    }
    close MOUNTS;
    return \@mounts;
}

sub StripMount {
    my ($cwd, $mounts) = (shift, shift);
    my $length = 0;
    foreach (@$mounts) {
        $length = length if
            $cwd =~ /^$_\// and
            $length < length;
    }
    substr($cwd, -1) = "\n";
    return substr($cwd, $length);
}

2009/8/17 16:25
願我撤回自己所加給世界的目的,學習認出它的真相,因而敞開心扉,接納它的真實目的。~《奇蹟課程》,W-55.5:7
應用擴展 工具箱
回覆: 如何不顯示當前掛載點
會員五級
註冊日期:
2008/6/15 2:56
所屬群組:
已註冊使用者
等級: 38
HP : 0 / 945
MP : 757 / 38514
EXP: 81
離線
Aitjcize 寫到:
看不懂你們再說什麼耶
可以說明一下嗎?

就把有掛載的路徑去掉
你在終端機打df可以看到掛載點
df
檔案系統 大小 已用 可用 已用% 掛載點
/dev/sda6 15G 3.9G 11G 28% /
tmpfs 1007M 0 1007M 0% /lib/init/rw
proc 0 0 0 - /proc
sysfs 0 0 0 - /sys
varrun 1007M 324K 1007M 1% /var/run
varlock 1007M 0 1007M 0% /var/lock
udev 1007M 180K 1007M 1% /dev
tmpfs 1007M 540K 1007M 1% /dev/shm
devpts 0 0 0 - /dev/pts
fusectl 0 0 0 - /sys/fs/fuse/connections
lrm 1007M 2.2M 1005M 1% /lib/modules/2.6.28-14-generic/volatile
/dev/sda10 68G 180M 65G 1% /d1
/dev/sda11 65G 1.1G 61G 2% /d2
/dev/sda3 107G 29G 74G 28% /fish
/dev/sda7 30G 3.2G 26G 12% /home
/dev/sda5 20G 4.2G 15G 23% /iso
/dev/sda9 12G 158M 11G 2% /live
none 0 0 0 - /proc/bus/usb
securityfs 0 0 0 - /sys/kernel/security
binfmt_misc 0 0 0 - /proc/sys/fs/binfmt_misc
gvfs-fuse-daemon 0 0 0 - /home/hepha/.gvfs
/dev/sdb2 90G 2.3G 83G 3% /media/disk
比方/home/hepha/iso/我不要他的掛載點,他不是真實的路徑,/dev/sda7為根目錄掛載到/home,/hepha/iso/是實際路徑。
不知道聽的懂嗎XD解釋蠻爛的

2009/8/17 16:38
應用擴展 工具箱
回覆: 如何不顯示當前掛載點
會員五級
註冊日期:
2008/6/15 2:56
所屬群組:
已註冊使用者
等級: 38
HP : 0 / 945
MP : 757 / 38514
EXP: 81
離線
Mozzenior 寫到:
把 script 改成底下這樣。有參數時會針對參數進行 strip,否則就拿現在的工作目錄來進行 strip。

成功!感謝!

2009/8/17 16:40
應用擴展 工具箱
回覆: 如何不顯示當前掛載點
會員三級
註冊日期:
2009/7/4 14:52
所屬群組:
已註冊使用者
等級: 12
HP : 0 / 277
MP : 56 / 10450
EXP: 9
離線
剛好第十篇!YEAH!

不客氣 :D

2009/8/17 17:28
願我撤回自己所加給世界的目的,學習認出它的真相,因而敞開心扉,接納它的真實目的。~《奇蹟課程》,W-55.5:7
應用擴展 工具箱

(1) 2 3 »

 [無發表權] 請登錄或者註冊


可以查看帖子.
不可發帖.
不可回覆.
不可編輯自己的帖子.
不可刪除自己的帖子.
不可發起投票調查.
不可在投票調查中投票.
不可上傳附件.
不可不經審核直接發帖.