sh 双击 不能运行 linux

没有执行权限:.sh文件没权限。
文件关联错:没关联到终端。
终端关太快:脚本后加read -p "Press Enter to continue..."。
变量没设置好:直接运行脚本看效果或脚本内设变量。
编码格式错:用dos2 unix转换编码。
语法有误:bash -n .sh检查语法。

linux如何运行. sh脚本?

Windows下运行.sh脚本,简单说就是装个GitBash或WSL。
GitBash给你Unix壳,点一下.sh就能跑。
WSL是直接在Windows里开Linux环境,脚本也能直接执行。
还有Cygwin和MSYS2 这类第三方工具,功能差不多。
选哪个看个人喜好,记得按说明装,用对工具.sh脚本才能顺畅运行。

怎么运行shell脚本

上周,我在Mac上写了个小脚本,想自动备份我的照片。
先打开Terminal,然后cd到脚本放的文件夹。
脚本开头写了!/bin/bash,所以直接运行./script_name.sh就OK了。
运行过程中,我发现照片没备份,一看,原来是路径写错了。
算了,下次得仔细检查路径。

2 02 3 年,我朋友在Linux上写了个脚本,用来自动化部署服务器。
他先cd到服务器目录,然后运行./deploy.sh。
脚本执行顺利,但后来发现环境变量没设置好,导致一些服务启动失败。
你看着办,得先检查环境变量。

我那个朋友最近写了个Windows批处理脚本,用来清理电脑缓存。
他先打开命令提示符,然后cd到脚本文件夹。
运行脚本时,他发现没有权限执行,于是用chmod命令给脚本加了执行权限。
脚本运行后,电脑缓存被清理干净了。
这部分我不确定,可能Windows的权限管理比较复杂。

linux执行sh文件命令如何在Linux中运行一个Shell脚本

上周。
Linux里。
两种用法。

bashscript.sh。
或者。
./script.sh。

很简单。
但确实要搞懂。

我那个脚本。
abhishek@itsfoss:~/Scripts$ cathello.sh echo "HelloWorld!"
方法1 把文件名当参数给shell。
bashhello.sh。

好处是。
不用管执行权限。
快速方便。

但要注意。
得明确用bash。
因为shell有各种。
ksh、zsh啥的。

比如我。
装了zsh。
就用zsh运行。

方法2 直接用路径执行脚本。

前提是。
得有执行权限。
chmod u+x script.sh。

然后。
./script.sh。

或者。
绝对路径。

./很重要。
因为系统会在PATH里找。
不指定的话。
可能找不到。

为啥不用名? 因为PATH里有。
很多可执行文件。

我的PATH。
/home/abhishek/.local/bin /usr/local/sbin ...等等。

ls在/usr/bin。
脚本不在PATH里。
就找不到。

脚本头有!/bin/bash。
为啥? 指定用bash解释。

不然。
可能用当前shell跑。
出问题。

bash和zsh语法。
有差异。
比如数组。
zsh从1 开始。
bash从0开始。

用!/bin/bash。
保证用bash跑。
不管系统默认用啥shell。

!/bin/zsh也一样。
指定用zsh。

就这样。
你看着办。