У меня есть папка «песочница» на моем компьютере 13.10, которую я использую для чего-либо по типу «тестирования», или если я обновляю кусок кода и хочу, чтобы он был полностью отделен от всего остального. Для того, чтобы иметь некоторый порядок для этого, я разбил это на подпапки в следующей структуре:
/ data / Work / sandbox / mmyy / ddmmyy
(т. е. сегодняшняя папка - /data/Work/sandbox/0214/260214
.)
Чтобы иметь возможность быстрого переключения на этот каталог, я настроил свой .bashrc
так, чтобы назначить переменную окружения, $TODAYSAND
, которая изменяется ежедневно и указывает на правильную папку, используя команду date
:
TODAYSAND="/data/Work/sandbox/`date +%m%y/%d%m%y`"
Это прекрасно работает в оболочках, поэтому я удалил эту строку из .bashrc
и добавил ее в свой profile.d
в новый сценарий, /etc/profile.d/sandbox.sh
. Он по-прежнему работает правильно, и в терминалах я все еще могу cd $TODAYSAND
без каких-либо проблем.
Теперь я хотел бы установить закладку в Nautilus, которая указывает на эту папку и динамически изменяется таким же образом, чтобы мне не приходилось каждый раз отслеживать последнюю. Однако я не могу заставить его даже принять $TODAYSAND
в качестве имени папки. Если я наберу его в верхней строке (набрав /
, чтобы я мог ввести путь, а не поиск), он попытается перейти к несуществующему файлу с буквальным названием /$TODAYSAND
и выдает ошибку, сообщающую, что это не не существует Точно так же, если я сделаю закладку, указывающую на $TODAYSAND
, она а) создаст ее с тем же значком, как если бы я сказал ей сделать закладку для сетевого расположения, и б) мгновенно вылетает из Наутилуса, когда я нажимаю на нее.
Как я могу заставить Наутилуса принимать эту переменную в качестве допустимого пути к файлу?
Я не сделал нашел способ передать Переменные среды Наутилусу.
Вот ответ, "Как обновить закладку динамично?"
В Ubuntu 12.04 Наутилус хранит закладки в ~/.gtk-bookmarks
в следующем формате
file:///home/username/Documents
....
file:///path/to/0214/260214
Можно использовать небольшую функцию удара для изменения последней строки на
file:///path/to/0214/270214
Это изменит закладку динамично. Вот сценарий
updt_sand_box(){
if [ -d /path/to/"$(date +%m%y)"/"$(date +%d%m%y)" ]; then
sed -i "s#$(date --date yesterday "+%d%m%y")#$(date +%d%m%y)#" ~/.gtk-bookmarks
else
zenity --info --text="/path/to/$(date +%m%y)/$(date +%d%m%y) does not exist"
fi
}
Поместите вышеупомянутую функцию в ~/.bashrc
и источник это,
. ~/.bashrc
К updte закладка песочницы входят в Ваш терминал
updt_sand_box
Можно использовать вышеупомянутый сценарий различным способом. Можно создать cronjob (используйте надлежащий DISPLY
переменная) или вставленный в него ~/.bashrc
или где угодно так, чтобы это может быть выполнено.
По всей вероятности Более новая Ubuntu хранит закладки в ~/.config/gtk-3.0/bookmarks
, необходимо изменить сценарий соответственно.
Замена ~/.gtk-bookmarks
с ~/.config/gtk-3.0/bookmarks
в вышеупомянутом сценарии.