Eu coloquei o script abaixo em um arquivo chamado "volume", e coloquei esse arquivo em uma pasta dentro de $ PATH. Eu posso executá-lo bem por "bash thatpath / volume 10", mas quando eu tento executá-lo usando apenas "volume 10" de qualquer lugar eu recebo "/ bin / bash: intérprete ruim: Operação não permitida". As permissões do arquivo são 755.
#!/bin/sh
FIRST_ARGUMENT="$1"
echo "Set volume to $FIRST_ARGUMENT!"
osascript -e "set volume output volume $FIRST_ARGUMENT"
noexec
? É possível que o arquivo tenha finais de linha do Windows (CR + LF em vez de apenas LF)? unix.stackexchange.com/questions/6821/bash-wont-execute-filesstrings
comando deve ajudá-lo a corrigir o problema sem ter que digitar manualmente todo o arquivo novamente.Respostas:
Eu li alguma questão semelhante e eles também notaram que os finais de linha podem estar confusos. Então eu comecei um novo arquivo e digitei tudo isso mais uma vez e salvei. + x: ede e começou a funcionar. Então eu acho que sim, os finais de linha foram os culpados. Eu editei o arquivo pela primeira vez com o TextEdit, ele não deveria dar finais de linha do Windows, mas de qualquer maneira, ele é corrigido agora.
fonte