linux下shell脚本 not found!

来源:百度知道 编辑:UC知道 时间:2024/05/19 17:30:17
自己在s3c2410上做了个sh脚本,保存为/opt/update.sh,可我在根目录下执行
$/opt/update.sh
时,却提示-sh : /opt/update.sh not found
我的update.sh 是以#!/bin/sh 开头的(bin下没有bash) 文件mod是777
但我在根目录下换成
$/opt/./update.sh
后,却能正常运行……
请了解此情况的朋友给予解释!谢谢

根目录下执行 ./opt/update.sh
或 cd /opt ./update.sh
因为linux不允许直接在本目录下执行可执行文件
是为了防止恶意攻击
比如有人在你的目录下放了个脚本,但取名是ls,这样本想查看文件夹内容的,变成了执行取名为ls的脚本

chmod +x xxxx.sh
之后 /xxxx/xxxx.sh 运行

不然就要前挂脚本解释器 sh 或者 bash 、ash 什么的,这就要看你的脚本用什么语言写的了。

如果没x权限的话 执行要 sh xx.sh
如果有可以 ./xx.sh

你用$PATH看下你的shell是什么版本的?