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.