簡體   English   中英

如何檢查Linux中是否存在符號鏈接以及目錄

[英]How to check if the symlink as well as directory exists in linux

我有符號鏈接

data -> /application/madat/gold/gold_lock/Methods96/../data

我想使用shell腳本檢查符號鏈接是否存在以及目錄是否存在。

我已經試過了:

#!/bin/bash
if [[ -h data && data -ef application/madat/gold/gold_lock/Methods96/../data ]]; then echo it exists; else echo it does not; fi

但這不起作用..

任何線索表示贊賞。

您可以嘗試這樣的事情

if [[ -L "data" && -d "$(readlink data )" ]]; then
  echo "both exists"
else
  echo "symlink or directory does not exist"
fi

-L將測試它是否是符號鏈接,然后-d將查看符號鏈接后面的目錄是否存在。

如果目錄路徑中可能還有其他符號鏈接,請使用readlink -f

更新:忘記說-h-L是等效的,但是我發現第二個更容易記住。 這在ubuntu,btw上進行了測試。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM