在脚本中使用别名

时间:2016-04-18 08:07:36

标签: linux perf

我有两个脚本用于在嵌入式Linux系统上设置perf,除最后一行

外,它们工作正常
#!/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"直接命令。

如果有人知道为什么会这样或有解决方法,谢谢你让我知道

2 个答案:

答案 0 :(得分:0)

问题是alias是bash的内置命令。当脚本结束时,它的效果会丢失。

如果您希望它也适用于您当前的shell,您必须“获取”第二个脚本,或者:

source ./<scriptname>

或:

. ./<scriptname>

答案 1 :(得分:0)

您可以使用功能。它们更适合于比简单命令更复杂的东西:

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