Você precisa ativar o rastreamento no bash:
bash -x myscript.sh '/Users/profiles/Desktop/Development'
Você verá a mensagem "Nenhum arquivo ou diretório" logo após a linha que gera o erro.
Sou novo no OSX e não uso a linha de comando com frequência. Estou tentando usar um script para fazer alguma implantação automática, mas quando executo o script, ele está procurando por um diretório.
Eu tentei:
sh myscript.sh '/Users/profiles/Desktop/Development'
sh myscript.sh /Users/profiles/Desktop/Development
sh myscript.sh -/Users/profiles/Desktop/Development
mas continuo recebendo "No Such file or directory". Qual é a maneira correta de fazer isso?
Eu sei que esta é uma questão básica, mas não consigo encontrar uma resposta simples. Tudo o que eu acho no google é muito mais avançado ..
ATUALIZAÇÃO: No script, está procurando o caminho assim:
DIR_DEVELOP=$@
if [ -z $DIR_DEVELOP ]; then
echo "Syntax: myscript.sh <destination>"
exit 1
Você precisa ativar o rastreamento no bash:
bash -x myscript.sh '/Users/profiles/Desktop/Development'
Você verá a mensagem "Nenhum arquivo ou diretório" logo após a linha que gera o erro.
Você não precisa usar '
em seu caminho. De acordo com o Guia avançado de scripts de bash :
$@
Same as $*, but each parameter is a quoted string, that is, the parameters are passed on intact, without interpretation or expansion. This means, among other things, that each parameter in the argument list is seen as a separate word.
Portanto, o caminho que seu script está tentando acessar é literalmente '/Users/profiles/Desktop/Development'
em vez de /Users/profiles/Desktop/Development
Tags bash mac-osx shell-scripting