我目前正在用Java开发一个跨平台的应用程序(Windows、MacOSX、Linux),并在Windows上构建这个项目。在构建过程中,我为Linux构建了一个shell脚本来“包装”可执行jar文件。
我设置shell脚本的可执行位如下:

File script = new File("run.sh");
script.setExecutable(true);

但是,在将run.sh文件传输到Linux时,我总是获得以下权限:
-rw-r--r-- 1 salocinx salocinx 120 2014-08-20 20:21 run.sh

有人知道如何将x位从Windows保存到Linux吗?

最佳答案

您的文件传输程序需要保留权限选项。我想你不会找到的。您可以在unix框上运行程序来更改文件权限,也可以运行类似于

find . -name "*.sh" -exec chmod a+x {} \;

或者你可以设置你的find
umask u+x

或者(如果您使用cygwin),您可以使用
tar cfp file.tar <scripts>

注意umask是保留权限。

关于linux - 如何在不同的操作系统上使用Java保留文件权限?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25411955/

10-16 11:37
查看更多