Automator bash script service para criar o link simbólico do Dropbox

0

Estou tentando criar um serviço de Automator (no menu do botão direito) que cria um link simbólico da pasta / arquivo e o move para a pasta do Dropbox. Isso é o que eu tenho agora:

while [ $# -ne 0 ]; do
    ln -s "$1" "$1 symlink"
    mv "$1 symlink" ~/Dropbox/.
    shift
done

No entanto, o que eu quero fazer é criar uma pasta com o mesmo nome ($ 1). A tentativa de mv "$1 symlink" ~/Dropbox/"$1" não funciona. Eu não consigo descobrir como renomear a pasta. Eu tentei isso e, por algum motivo, ele moveu a pasta de links simbólicos para dentro da pasta que estava fazendo o symlinking ($ 1).

while [ $# -ne 0 ]; do
    loc = "~/Dropbox"
    ln -s "$1" "$1 symlink"
    mv "$1 symlink" "$loc/$1"
    shift
done
    
por Venkat 07.09.2018 / 17:14

1 resposta

0

Este é o seu código atual

while [ $# -ne 0 ]; do
  ln -s "$1" "$1 symlink"     # you create a symlink named "xxx symlink"
  mv "$1 symlink" ~/Dropbox/. # you are moving the symlink into Dropbox folder
  shift
done

você deseja criar links simbólicos para arquivos / diretórios já no Dropbox, então isso precisa ser feito:

while [ $# -ne 0 ]; do
  # you want it to fail if there is a file in dropbox with the same name
  test -e "~/Dropbox/$1" && exit 1

  # order of two lines below is unimportant
  mv "$1" ~/Dropbox/                # move file into dropbox
  ln -s "~/Dropbox/$1" "$1 symlink" # you create a symlink named "xxx symlink"

  shift
done

Quanto à segunda parte da sua pergunta:

However what I want to do is create a folder with the same name ($1). Trying mv "$1 symlink" ~/Dropbox/"$1" doesn't work. I can't seem to figure out how to rename the folder. I tried this, and for some reason, it moved the symlink folder to inside the folder it was symlinking($1).

while [ $# -ne 0 ]; do
  loc = "~/Dropbox"
  ln -s "$1" "$1 symlink"
  mv "$1 symlink" "$loc/$1"
  shift
done

O utilitário que cria diretórios é chamado de mkdir . Embora não consiga descobrir qual pasta você deseja renomear, use o comando mv . Por exemplo, mv ~/file ~/Dropbox/backup.thing renomeará o arquivo file para backup.thing e também o moverá entre locais.

    
por 07.09.2018 / 17:49