Откройте родительскую папку символической ссылки, щелкнув правой кнопкой мыши?

Вы можете попробовать Gradio. Я думаю, что это лучшее. Для этого вы можете использовать команду wget. $ wget https://github.com/haecker-felix/gradio/releases/download/v4.0.0/gradio_4.0.0.r105-0.ubuntu16.04.1_amd64.deb $ sudo dpkg -i gradio_4.0.0.r105-0 .ubuntu16.04.1_amd64.deb

1
задан 27 January 2014 в 14:46

2 ответа

Сохраните этот сценарий как Open symlink's parent dir в своем ~/.gnome2/nautilus-scripts/. При щелчке правой кнопкой мыши у вас будет опция в разделе «скрипты», «Открыть родительский каталог symlink».

вы можете открыть родительский каталог любой символической ссылки. символическая ссылка может быть любого файла или папки. Если это не символическая ссылка, вы получите уведомление.

#!/bin/bash

if [ -h $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS ]; then
    var="$(readlink $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS)"
else
    zenity --info --text="$(basename "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS") is not a symbolic link"
    exit 0
fi
if [ -d "$var" ]; then
    var2="$var"
else
    var2="$(dirname "$var")"
fi
nautilus "$var2"

enter image description here

Если есть более одного soft link

Вы можете использовать readmultilink из этого ответа Radu Rădeanu. После этого скрипт сможет перейти к родительскому каталогу, перемещаясь по нескольким программным ссылкам сразу.

Вам нужно скопировать вставку функции в свой код и использовать readmultilink вместо readlink. [!d10 ]

2
ответ дан 24 May 2018 в 12:29
  • 1
    Благодарю. Ваш сценарий намного умнее, но я и более простой. тем не менее, спасибо за публикацию, так как это хорошо. – ubuntico 28 January 2014 в 01:55

В конце «NAUTILUS_SCRIPT_SELECTED_FILE_PATHS» есть дополнительный канал, который вызывает проблемы, когда я пытаюсь добавить двойные кавычки для правильного обнаружения файлов.

Я изменил приятное предложение от souravc, поэтому он отлично подходит для меня (фид строки в конце удален, добавлены двойные кавычки, поэтому нет проблем с именами файлов с пробелами).

#!/bin/bash

# Remove line feed at the end of the path
selectedPath="${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS%?}"

# Check if the selected file is a symbolic link
if [ -h "$selectedPath" ]; then
    var="$( readlink "$selectedPath" )"
else
    zenity --info --text="$( basename "$selectedPath" ) is not a symbolic link"
    exit 0
fi

# Open the parent directory of the symbolic link 
nautilus "$( dirname "$var" )"
1
ответ дан 24 May 2018 в 12:29
  • 1
    Если вы знаете, что есть дополнительное пространство, зачем использовать ${N_S_S_F_P%?} вместо ${N_S_S_F_P% }? – Adaephon 8 April 2014 в 15:41
  • 2
    Другая проверка с помощью знаков ascii показывает финишную линию в конце, а не дополнительное пространство. Я изменил оригинальный пост. Я использую $ {N_S_S_F_P%?}, Потому что $ {N_S_S_F_P% \ n} не работает. – TuKsn 8 April 2014 в 18:39

Другие вопросы по тегам:

Похожие вопросы: