腳本

2016-04-18 53 views
0

使用別名我必須用於設置PERF的嵌入式Linux系統上的兩個腳本和他們工作得很好,除了最後一行腳本

#!/bin/bash 


sudo route add -net 192.168.2.0 gw 192.168.42.1 netmask 255.255.255.0 

scp -P 23 ~/perf_p7/perfSetup.sh 192.168.42.1:../tmp 

ssh -p 23 192.168.42.1 bash ../tmp/perfSetup.sh 

#!/bin/bash 


mkdir /mnt/buildroot-target 

IP=192.168.42.2 

nfs.sh ${IP} 

mount -o nolock,proto=tcp,addr=${IP} -t nfs ${IP}:/home/vclement/sfx1_build/Binaries/p7-arm/master/buildroot/target /mnt/buildroot-target/ 

alias perf='LD_LIBRARY_PATH=/mnt/buildroot-target/usr/lib /mnt/buildroot-target/usr/bin/perf' 

alias perf='LD_LIBRARY_PATH=/mnt/buildroot-target/usr/lib /mnt/buildroot-target/usr/bin/perf'似乎不但是當我在控制檯上手動運行它時,它工作得很好,以便讓我直接使用「perf」命令。

如果任何人有任何想法這是爲什麼還是有一個解決方法,謝謝你讓我知道

+1

您遵循的步驟是什麼?如果你運行腳本,別名在子shell中設置,所以當它完成後,你不能訪問'perf',因爲你在不同的shell中。 – fedorqui

回答

0

的問題是,alias是一個內置的bash命令。腳本結束時會失去效果。

如果你想讓它適用於當前的外殼,以及你有「源」,第二腳本,或者:

source ./<scriptname> 

或:

. ./<scriptname> 
+0

我用兩條建議修改了第一個文件,但似乎沒有太大變化。 我應該在設備上使用「perf」快捷方式還是別名而不是別名? – VictorC

0

可以使用的功能。他們更適合於更簡單的命令:

function perf() { 
    LD_LIBRARY_PATH=/mnt/buildroot-target/usr/lib /mnt/buildroot-target/usr/bin/perf 
}