我有一个Shell脚本文件。在它里面,我已经在放置sh文件的同一个文件夹中创建了一个文本文件。使sh可执行文件像在窗口中的exe文件一样
我想双击运行sh文件。当用户双击sh文件时,sh文件将被执行并且一个文本文件应该在相同的目录中生成。
我知道我可以使用使可执行文件:chmod +x myfile.sh
但问题是:
当我运行在其它机器或者同一台机器上这个文件用不同的 驱动,我需要再次执行。我想要在Windows中像“exe 文件”一样的行为。
我有一个Shell脚本文件。在它里面,我已经在放置sh文件的同一个文件夹中创建了一个文本文件。使sh可执行文件像在窗口中的exe文件一样
我想双击运行sh文件。当用户双击sh文件时,sh文件将被执行并且一个文本文件应该在相同的目录中生成。
我知道我可以使用使可执行文件:chmod +x myfile.sh
但问题是:
当我运行在其它机器或者同一台机器上这个文件用不同的 驱动,我需要再次执行。我想要在Windows中像“exe 文件”一样的行为。
您能右键单击该文件并选择properties
。选中Allow executing file as a program
。
我也做过。但它不起作用。我需要通过终端和更改权限:chmod + x myfile.sh – Rickyrock
如果它不工作。也许你正在执行的文件不是你当前用户所有的。尝试使用chown
如果将文件复制到其文件系统不支持Linux权限模型的驱动器,则将失去这些权限。解决方法是使用Linux友好的文件系统(重新格式化驱动器,使用例如ext2
文件系统),但较少入侵的解决方法是将文件存储在确保权限的容器中(例如tar
文件)并将其从到目标系统。
如果您需要支持只能学习用鼠标单击并拖动的用户,则只有第一个选项是可行的。
如果目标系统可以访问互联网,也许最简单的方法就是将文件放在服务器上,然后在文本棒上放一个带有下载URL的文本文件。
什么类型的文件系统,你要复制这个脚本,它失去了它的可执行位?尝试传递'tar'档案并从'tar'解压缩,这可能会保留这些位。 – woolstar
woolstar @我正在使用Ubuntu 12.04。我在这台机器上生成可执行文件,并将它复制到pendrive上,当它从其他机器上的pendrive(我的朋友的机器 - Ubuntu 10.04)上运行时,它不起作用。 – Rickyrock
笔式驱动器格式化为FAT吗?或ext3? – woolstar