我尝试将 shell 脚本从 OpenVms rsh 到 Red Hat linux。好像没有执行。
我在 OpenVms 中创建了 shell 脚本,并将其通过 Ftp 传输到 Linux。然后我 ls -la linux 中的文件夹:
-rw-r--r-- 1 buedev buedev 382 Jul 20 11:03 files.sh
看来连业主都没有执行权。如果我们需要 chmod 它,我们如何在 OpenVms 中远程执行它?
答案1
为了执行,必须设置执行位。如果文件未标记为可执行文件,即使文件的所有者也无法要求系统执行它。
这里需要注意的是,对于大多数 shell 脚本,您可以通过自己调用 shell 并将脚本数据作为参数提供给它来执行它们。
/bin/sh /path/to/files.sh
这将执行sh
shell 并向其发送要执行的脚本的文本数据。这只需要文件的读取权限,因为 shell 正在执行,它只需要读取脚本而不执行它。
您可以通过在 ftp 首选项中设置 umask 来更改将要写入的文件的权限,或者稍后使用 shell chmod
。一些 ftp 守护程序还支持更改现有文件的权限。