如何执行shell

如何执行shell

   打印
yaogangNUPT
(stranger)
05-03-13 21:26
如何直接执行shell脚本  

脚本文件点击后常常是会提示是在终端执行还是执行的对话框
在命令行中常常需要./filename 或者是sh filename
消去对话框可以用起动器(也叫链接或者或者是快捷方式)


请问
怎么样才能使得脚本文件直接在命令行中执行而不要sh 或者是./ ???

文章选项:

antzcn
(newbie)
05-03-15 13:04
Re: 如何直接执行shell脚本  

$ export PATH=$PATH:.


--------------------

Freedom!

文章选项:

yaogangNUPT
(stranger)
05-03-16 16:24
Re: 如何直接执行shell脚本  

谢谢 但是为什么会这样呢?
非常谢谢


--------------------
不知道也可以说 但是不能瞎说
实话实说

文章选项:

yaogangNUPT
(stranger)
05-03-16 17:01
Re: 如何直接执行shell脚本 请教 请教  

据我所知
你的那条已经在.bash_profile里面声明过
并且你所说的 只能对于当前的shell有用
换了shell后 又要export
你看更好的解决方案是什么
.bashrc 里面行不行??
请教


--------------------
不知道也可以说 但是不能瞎说
实话实说

文章选项:

yaogangNUPT
(stranger)
05-03-18 12:55
Re: 如何直接执行shell脚本  

我用了你提供的方法 感觉很好 于是我做了一下分析
你用的是export 将PATH地址导入子shell

但是具体的shell搜寻的地址是什么 我还是不清楚
我用$ echo $PATH 显示的是
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
并没有将当前目录加入

我们知道shell执行脚本的时候 从PATH的顺序搜下去如果有的话就执行
没有就找下去 并且可执行的程序要比sh脚本优先极高

我们用的是sh 就是搜索\当前目录
./ 也是如此 "."指的是当前目录 就象".."指的是前一极目录一样

我用 ln (-s) 要执行的sh脚本的路径 PATH可搜寻路径+文件名
可以完成同样的工作
当然cp \操作也能

为什么会用export PATH=$PATH 就行我很想知道


--------------------
不知道也可以说 但是不能瞎说
实话实说

文章选项:

passworld
(newbie)
05-03-18 14:26
Re: 如何直接执行shell脚本  

看回答仔细一点儿:
export PATH=$PATH:.
不是
export PATH=$PATH

那一个点就是当前目录,当你执行后再 printenv PATH 应该是:
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin:.
注意最后的点,一般建议如果要加当前目录,应该把它放在最后,以免系统被黑。

你如果看man bash,他会告诉你:
~/.bash_profile: The personal initialization file, executed for login shells
~/.bashrc: The individual per-interactive-shell startup file

RTFM: Read The [censored] Manual 是很重要的。

文章选项:

yaogangNUPT
(stranger)
05-03-29 19:35
Re: 如何直接执行shell脚本  

谢谢
佩服 佩服


--------------------
不知道也可以说 但是不能瞎说
实话实说

文章选项:

bunengzaicai
(newbie)
05-04-07 22:20
Re: 如何直接执行shell脚本  

补充一点:依据版主所说,添加当前目录时切记将其置后,否则依照搜寻顺序,本地程序优先执行,本地黑客程序将会代替掉系统程序运行,造成系统被黑!!!
不太建议你添加本地目录!(有时会混淆)


--------------------
团结吧!中国人!我们不能再菜下去了!

你可能感兴趣的:(如何执行shell)