在windows中,可执行文件是以后缀名字来和其他的文件相区别的,例如exe和bat文件,只要你双击就可以了。这点和linux中有很大的区别,在linux中,可执行文件和非可执行文件不是以后缀名字来区别的,是以文件的属性和文件自身的性质两个方面决定的。打个比方,就像驾驶执照,你有执照,表示允许你开车,但是,能不能上路还的看你自己的能力了。同理,有这种开车的能力后,但是没有拿到执照同样不能上路。所以,文件可不可执行,两个条件都必须必备。
改变文件属性,方法如下
(chmod +x 表示要增加可执行文件属性,同理,chmod -x表示取消可执行文件属性。w写属性,r读属性,还有别的属性,可以通过chmod --help来查看。)
假如我现在刚刚安装realplay.rpm包,而且,如上所述,改变了realplay文件属性。安装目录是/home/${你自己用户}/bin/下边。显然,当你在终端上打入realplay不能执行。但是,当你键入/home/${你自己用户}/bin/realplay是可以执行的。每次看片都要这样写一长串,不爽是正常的。
所以,我们就要想方设法把realplay所在的位置告诉shell,通过什么方式呢? 如同windows一样,通过环境变量来设置的。但是,在linux中,我们就要通过export来修改。这里附带说一下,export,如下:
(export是将作为自己的参数的变量导出到子shell当中。
例子:
有export2文件和export1文件
引用:《export2》
#!/bin/sh
echo "begin"
export foo="this foo is in export2"
bar="this bar is in export2"
./export1
《export1》
#!/bin/sh
echo "$foo"
echo "$bar"
shell中键入./export2
输出:
begin
this foo is in export2
--来自《linux程序设计》
当然,如前边说述,一定要改变sh文件为可执行属性。)
从上边例子中可以看到export的用法,export PATH=$PATH:/home/${你自己用户}/bin/realplay,回车,然后再键入realplay,哦,正常启动。关闭终端,大功告成?忍不住,在试一把?当你从新打开一个终端时候,键入realplay,提示你说commend not found,阿?高兴的太早了把。
其实就差一步了,刚才设置的环境变量只是当前shell中有效,要想shell永远的记下,就需要在bash.bashrc或者profile中设置,这里,就在root下修改了,键入如下命令:
sudo gedit /etc/bash.bashrc
或者
sudo vi /etc/bash.bashrc
把刚才一句话,加到文件的尾部,保存。从新打开终端,输入realplay,成功。