shell脚本无法运行: command not found

时间:2022-04-19 08:10:46
我编写的一个脚本在自己的LINUX系统上可以运行。但是发给别人后在他的LINUX系统上显示: command not found
脚本的权限也设置成可执行了。
求高手指教。

13 个解决方案

#1


多半编码问题,dos2unix命令转换下试试

#2


太不详细了。
要不就是没有这个命令,要不就是PATH设置问题

#3


首先要看下文件传输的有没有问题,其次还要考虑命令的运行方式

#4


引用 2 楼 lgxwqq111 的回复:
太不详细了。
要不就是没有这个命令,要不就是PATH设置问题


就是自己写得脚本名是testIP,自己电脑上./testIP就能运行了,但到别人电脑上就显示: command not found

#5


引用 1 楼 joan8363 的回复:
多半编码问题,dos2unix命令转换下试试

编码问题?那为什么自己电脑上能运行?2个LINUX系统之间也会有这问题吗?

#6


chmod 777 ./testIP 做了吗?确保脚本有执行权限。

#7


引用 6 楼 louyong0571 的回复:
chmod 777 ./testIP 做了吗?确保脚本有执行权限。

改过了,我今天又弄了个虚拟机,在那个虚拟机上也能运行。LINUX的版本不同会引起这个问题吗

#8


引用 5 楼 zjzjgxw 的回复:
引用 1 楼 joan8363 的回复:
多半编码问题,dos2unix命令转换下试试

编码问题?那为什么自己电脑上能运行?2个LINUX系统之间也会有这问题吗?


是通过scp或ftp传输过去的?还是弄到windows下中转过去?

#9


引用 8 楼 joan8363 的回复:
引用 5 楼 zjzjgxw 的回复:

引用 1 楼 joan8363 的回复:
多半编码问题,dos2unix命令转换下试试

编码问题?那为什么自己电脑上能运行?2个LINUX系统之间也会有这问题吗?


是通过scp或ftp传输过去的?还是弄到windows下中转过去?

弄到WINDOS下中转过去的

#10


PATH设置问题的多

#11


两个机器登录的都是root用户吗?如果是的话应该可以

#12


引用 9 楼 zjzjgxw 的回复:
引用 8 楼 joan8363 的回复:
引用 5 楼 zjzjgxw 的回复:

引用 1 楼 joan8363 的回复:
多半编码问题,dos2unix命令转换下试试

编码问题?那为什么自己电脑上能运行?2个LINUX系统之间也会有这问题吗?


是通过scp或ftp传输过去的?还是弄到windows下中转过去?

弄到WINDOS下中转过去的


通过scp拷过去再试试?或者在目标linux上转换成unix格式

#13


引用 10 楼 xiaopei1982 的回复:
PATH设置问题的多

在当前目录下用./testIP 运行不就行了吗?,我在自己电脑上就这么运行的

#1


多半编码问题,dos2unix命令转换下试试

#2


太不详细了。
要不就是没有这个命令,要不就是PATH设置问题

#3


首先要看下文件传输的有没有问题,其次还要考虑命令的运行方式

#4


引用 2 楼 lgxwqq111 的回复:
太不详细了。
要不就是没有这个命令,要不就是PATH设置问题


就是自己写得脚本名是testIP,自己电脑上./testIP就能运行了,但到别人电脑上就显示: command not found

#5


引用 1 楼 joan8363 的回复:
多半编码问题,dos2unix命令转换下试试

编码问题?那为什么自己电脑上能运行?2个LINUX系统之间也会有这问题吗?

#6


chmod 777 ./testIP 做了吗?确保脚本有执行权限。

#7


引用 6 楼 louyong0571 的回复:
chmod 777 ./testIP 做了吗?确保脚本有执行权限。

改过了,我今天又弄了个虚拟机,在那个虚拟机上也能运行。LINUX的版本不同会引起这个问题吗

#8


引用 5 楼 zjzjgxw 的回复:
引用 1 楼 joan8363 的回复:
多半编码问题,dos2unix命令转换下试试

编码问题?那为什么自己电脑上能运行?2个LINUX系统之间也会有这问题吗?


是通过scp或ftp传输过去的?还是弄到windows下中转过去?

#9


引用 8 楼 joan8363 的回复:
引用 5 楼 zjzjgxw 的回复:

引用 1 楼 joan8363 的回复:
多半编码问题,dos2unix命令转换下试试

编码问题?那为什么自己电脑上能运行?2个LINUX系统之间也会有这问题吗?


是通过scp或ftp传输过去的?还是弄到windows下中转过去?

弄到WINDOS下中转过去的

#10


PATH设置问题的多

#11


两个机器登录的都是root用户吗?如果是的话应该可以

#12


引用 9 楼 zjzjgxw 的回复:
引用 8 楼 joan8363 的回复:
引用 5 楼 zjzjgxw 的回复:

引用 1 楼 joan8363 的回复:
多半编码问题,dos2unix命令转换下试试

编码问题?那为什么自己电脑上能运行?2个LINUX系统之间也会有这问题吗?


是通过scp或ftp传输过去的?还是弄到windows下中转过去?

弄到WINDOS下中转过去的


通过scp拷过去再试试?或者在目标linux上转换成unix格式

#13


引用 10 楼 xiaopei1982 的回复:
PATH设置问题的多

在当前目录下用./testIP 运行不就行了吗?,我在自己电脑上就这么运行的