Wie um zu überprüfen, ob ein symlink-Ziel entspricht, einen bestimmten Pfad?

Ich bin erstellen Sie ein bash-Skript, um zu überprüfen, ob ein symlink-Ziel entspricht, einen bestimmten Pfad, so dass, falls diese nicht übereinstimmen, Skript löscht den symlink. Ich habe versucht mit readlink:

#!/bin/env bash

target_path=$HOME/Code/slate/.slate.js

if [ `readlink $HOME/.slate.js` == "$target_path" ]; then
    rm -rf "$HOME/.slate.js"
fi

aber es funktioniert nicht:

%source test
test:5: = not found
  • readlink $HOME/.slate.js kann nicht wieder genau das gleiche wie $target_path es zurückgeben könnte so etwas wie Code/slate/.slate.js was ist anders als $target_path
  • Tut $HOME haben einen Platz in es, vielleicht?
  • echo sowohl von Ihnen zu prüfen, im Moment sind Sie gleich
  • test ist wahrscheinlich nicht ein guter name für ein shell-Skript, wie es schon ein shell-built-in-und eine Binär-in /bin (oder /usr/bin)...
Schreibe einen Kommentar