Действительно ли возможно определить команду в ударе?

От длинной цепочки комментария кажется, что ntfs-3g (или возможно FUSE) не полностью поддерживает метки времени на 100 нс, или по крайней мере версия в Ubuntu 12.04 не делает. Существуют случайные потоки форума, которые указывают, что FUSE 2.9 требуется, но Ubuntu 12.04 имеет 2.8.

Ubuntu 12.10 имеет FUSE 2.9, но не выпуск долговременной поддержки. Таким образом, Вы, вероятно, не хотите обновлять до него.

Другая альтернатива должна была бы переключиться на файловую систему, которая поддерживает метки времени с высоким разрешением в Ubuntu 12.04, такие как ext4. Если Вы не планируете разъединение диска с сервера Samba и соединения его к машине Windows, это - вероятно, лучший выбор, чем NTFS так или иначе, особенно при включении расширенных атрибутов в Samba.

25
20.01.2018, 03:55
4 ответа

просто введите:

alias gb='cd /media/Dan/evolution'

Чтобы сделать эту настройку постоянной (чтобы она оставалась после перезагрузки или открытия другой консоли), добавьте эту строку в файл ~/.bashrc (предполагая, что вы используете bash в качестве оболочки по умолчанию)

.
50
27.01.2020, 19:40

Альтернатива псевдониму

gb() { cd /media/Dan/evolution; }

Определяет функцию оболочки gb, которая не принимает аргументов и выполняет cd /media/Dan/evolution. Как и в других случаях, это можно добавить в ~/.bashrc

.
39
27.01.2020, 19:40

Альтернативно можно написать программу на C, которая вызовет нужную команду и сохранить ее в /usr/bin.

#include <stdio.h>
#include <string.h>

int main () {
    char command[50]; //notice you can change this to fit your needs
    int return_val;

    strcpy( command, "echo \"cd /media/Dan/evolution\" | bash -i" );
    return_val = system(command); 

   //this is equivalent to entering the command in a new bash, 
   //which will return and exit

    return return_val;
}

Чтобы скомпилировать ее, перейдите в каталог, в котором был сохранен исходный текст (на bash) и выполните (вам может понадобиться sudo):

 gcc ./gb.c -o /usr/bin/gb

После дальнейших исследований здесь, я понял, что простое добавление Вашей команды в system() не будет работать для встроенных команд bash. Вот почему вам нужно создать экземпляр интерактивного bash и повторить ваши команды. Это просто слишком сложно и, вероятно, бесполезно, если Вы не хотите, скажем, сократить вызов скрипта оболочки (some_script вместо sh ~/radgeRayden/Scripts/some_script).

Ссылка на функцию system()

-3
27.01.2020, 19:40

Возможно, и псевдоним - это команда, которую вы ищете. Например, alias ll="ls -l" в bash позволит вам набрать ll вместо ls -l. Обратите внимание, что при установке псевдонима не используются пробелы. Псевдоним man также может быть полезен.

11
27.01.2020, 19:40

Теги

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