Есть ли способ установить +x
бит на сценарии при создании?
Например я бегу:
vim -some_option_to_make_file_executable script.sh
и после сохранения я могу запустить файл без каких-либо дополнительных перемещений.
пс. Я могу работать chmod
с vim
или даже с самой консоли, но это немного раздражает, потому что vim
предлагает перезагрузить файл. Также раздражает chmod
каждый раз вводить команду. имп. Было бы здорово сделать это в зависимости от расширения файла (мне не нужен исполняемый файл .txt
:-))
shell-script
vim
executable
chmod
порыв
источник
источник
if
в одинif getline(1) =~ "^#!/bin/"
. Во всяком случае, это удивительно. Спасибо.au BufWritePost * if getline(1) =~ "^#!" | silent !chmod +x % | endif
/bin
не следует сразу за шаббатом, например#!/usr/bin/env
. Путь вокруг этого, конечно , использовать подстановочные:getline(1) =~ "^#!.*/bin/"
.written/bin/bash: endif: command not found /bin/bash: endif: command not found
au BufWritePost * if getline(1) =~ "^#!" | if getline(1) =~ "/bin/" | silent execute "!chmod a+x <afile>" | endif | endif
Я нашел этот скрипт на http://vim.wikia.com . Не идеальное решение, но приемлемое, я думаю.
Теперь вы можете установить бит выполнения с помощью команды
:Xbit
. Весь кредит Максу Ищенко на vim.wikia.comисточник
Я использую это в MacVim Custom Version 8.0.648 (134)
источник
Ответ tonymac перестал работать для меня в какой-то момент (с VIM 7.4), что дало мне ту же проблему, что и @StevieD. Изменение его решило проблему:
Я нашел ответ от https://bbs.archlinux.org/viewtopic.php?id=126304 , хотя @StevieD также дал тот же ответ.
источник