LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1884|回复: 15

入门问题

[复制链接]
发表于 2004-3-26 18:35:07 | 显示全部楼层 |阅读模式
Question 1:

#!/usr/bin/perl
#file name is try

$aeo="haveatry\n";
print $aeo;

用perl try 可以执行,直接用try为什么不能执行呐? 权限已经设为777了。
whereis perl的输出是perl: /usr/bin/perl
---------------------------------------------------------------------
Question 2:

为什么print的字符串一定要有换行符(\n)才能输出结果?
发表于 2004-3-26 19:09:11 | 显示全部楼层
1:在你的/etc/profile这样的配置文件中加入:
export PATH=${PATH}:~/myperl
~/myperl是你所放perl脚本的目录
然后把脚本+x,后,就可以直接运行你的perl脚本了
2:因为perl里面的print不会自动换行,;),每次都要加"\n"
发表于 2004-3-26 20:54:35 | 显示全部楼层
文件权没有X的时候可以perl file_name,但不可以./file_name
如果有X就可以perl file_name ; ./file_name两种方法运行脚本。
 楼主| 发表于 2004-3-26 20:56:32 | 显示全部楼层
非常感谢,现在可以直接运行了。
不过我不太明白,首行的#!/usr/bin/perl就是为了脚本能找到
解释器路径的,为什么还要加入PATH=${PATH}:~/myperl呐?
为什么shell script不需要这样设置?
发表于 2004-3-26 21:03:11 | 显示全部楼层
加入PATH=${PATH}:~/myperl
的作用是能把脚本当一个命令来运行。这时只要直接输入脚本的名字就可以了。
# file_name
shell script也可以这样做。
shell script的做法和道理同上面一样。
 楼主| 发表于 2004-3-26 21:15:04 | 显示全部楼层
thanks,我的意思是说,为什么shell script不需要设置脚本所在的
路径,而perl script需要这样设置。
发表于 2004-3-26 21:25:05 | 显示全部楼层
最初由 redspider 发表
thanks,我的意思是说,为什么shell script不需要设置脚本所在的
路径,而perl script需要这样设置。


如果你愿意,也可以象javalee设置perl script那样设置。道理是一样。
在~/.profile里加上路径。

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/X11R6/bin:/path/
export PATH
 楼主| 发表于 2004-3-26 21:38:08 | 显示全部楼层
这个我明白,可为什么shell script不设脚本路径就可以直接
运行,而perl script不设的话就不能直接运行呐?
发表于 2004-3-27 10:45:55 | 显示全部楼层
perl scirpt_name

./script.sh

要动手作!!
 楼主| 发表于 2004-3-27 11:17:05 | 显示全部楼层
晕,可能是我表达能力不好,大家没明白我的问题。谢了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表