Não é possível passar o caminho para o shell script

1

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
    
por cinqoTimo 02.04.2012 / 15:23

2 respostas

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.

    
por 02.04.2012 / 15:28
0

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

    
por 02.04.2012 / 22:39