Как я могу заложить “основу” для других псевдонимов, чтобы относиться к и включить CD base/x каталоги команды?

Нет никакой причины этого 1 второго различия, по крайней мере, что касается регулярной сенсорной команды.

 $ ls -l zz
    ls: cannot access zz: No such file or directory
    $ touch zz
    $ stat zz
      File: `zz'
      Size: 0           Blocks: 0          IO Block: 4096   regular empty file
    Device: 808h/2056d  Inode: 265633      Links: 1
    Access: (0644/-rw-r--r--)  Uid: ( 1000/jlliagre)   Gid: ( 1000/jlliagre)
    Access: 2011-09-19 07:35:50.679679571 +0200
    Modify: 2011-09-19 07:35:50.679679571 +0200
    Change: 2011-09-19 07:35:50.679679571 +0200

Используйте strace, чтобы проверить, что единственный системный вызов, влияющий на созданный файл касанием:

open("zz", O_WRONLY|O_CREAT|O_NOCTTY|O_NONBLOCK, 0666) = 3
dup2(3, 0)                              = 0
close(3)                                = 0
utimensat(0, NULL, NULL, 0)             = 0
close(0)                                = 0

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

3
22.06.2013, 10:36
2 ответа

Скорее используйте переменную для определения базового каталога.

CODE_BASE="/home/me/code/"
alias c1="cd $CODE_BASE/php"
alias c2="cd $CODE_BASE/jquery"
alias c3="cd $CODE_BASE/ruby"
alias c4="cd $CODE_BASE/c"
3
27.01.2020, 21:14
  • 1
    Примечание удостоверяется, что использовало "и нет ' –  Michael Durrant 07.06.2012, 06:41
  • 2
    @MichaelDurrant Вы не можете использовать ' здесь, потому что переменная $CODE_BASE используется в псевдониме и ' не позволит разворачивают эту переменную. В общем случае можно использовать также ' также ". Обе работы хорошо. –  rush 07.06.2012, 11:38
  • 3
    прекрасны; замена переменной просто отложена, пока псевдоним не выполняется. –  glenn jackman 07.06.2012, 12:35

Помимо ответа от mgorven можно также использовать CDPATH переменная. От удара человека:

   CDPATH The  search  path for the cd command.  This is a colon-separated
          list of directories in which the  shell  looks  for  destination
          directories  specified  by  the  cd  command.  A sample value is
          ".:~:/usr".

Если Вы установили его на CDPATH=.:$HOME/code/ можно просто работать cd php и изменил бы каталог на $HOME/code/php если каталог существует.

Другое решение состоит в том, чтобы использовать хешированные каталоги, если Вы используете zsh, например:

hash -d code_base=/home/me/code/

Впоследствии можно использовать cd ~code_base/directory измениться на определенный каталог.

3
27.01.2020, 21:14

Теги

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