Я обычно использую трюк sudo bash -c, или просто сделаю sudo -s первым, чтобы остаться в корне, а затем запустите команду перенаправления.
Причина, по которой это не работает, заключается в том, что оболочка сначала обрабатывает перенаправление, затем запускает sudo. Поскольку ваша оболочка не имеет доступа к файлу, перенаправление не работает.
Если вы используете zsh как shell, вы можете просто ввести cd 1.0.8 2.0.1.
Если вы используете zsh как shell, вы можете просто ввести cd 1.0.8 2.0.1.
Если вы используете zsh как shell, вы можете просто ввести cd 1.0.8 2.0.1.
Если вы используете zsh как shell, вы можете просто ввести cd 1.0.8 2.0.1.
Если вы используете zsh как shell, вы можете просто ввести cd 1.0.8 2.0.1.
Если вы используете zsh в качестве оболочки, вы можете просто ввести cd 1.0.8 2.0.1
.
Если вы используете zsh в качестве оболочки, вы можете просто ввести cd 1.0.8 2.0.1
.
Если вы используете zsh в качестве оболочки, вы можете просто ввести cd 1.0.8 2.0.1
.
Если вы используете zsh в качестве оболочки, вы можете просто ввести cd 1.0.8 2.0.1
.
Если вы используете zsh в качестве оболочки, вы можете просто ввести cd 1.0.8 2.0.1
.
Если вы используете zsh в качестве оболочки, вы можете просто ввести cd 1.0.8 2.0.1
.
Это должно работать в bash на ubuntu 10.04: cd ${PWD/old/new}. В основном это заменяет первое вхождение old в вашем текущем рабочем каталоге с new. 2 примера ниже.
ing02741@hoster:~$ cd /home/ing02741/Videos/
ing02741@hoster:~/Videos$ cd ${PWD/ing02741/koushik}
ing02741@hoster:/home/koushik/Videos$
ing02741@hoster:~/src/cdtest$ mkdir dir-v1.0.1 dir-v2.2.2 dir-v3.0.7
ing02741@hoster:~/src/cdtest$ mkdir dir-v1.0.1/ind dir-v2.2.2/ind dir-v3.0.7/ind
ing02741@hoster:~/src/cdtest$ cd dir-v1.0.1/ind/
ing02741@hoster:~/src/cdtest/dir-v1.0.1/ind$ cd ${PWD/1.0.1/2.2.2}
ing02741@hoster:~/src/cdtest/dir-v2.2.2/ind$
Заимствуя идею sepp2k выше, вы можете сделать такую функцию
[ f3], а затем используйте что-то вроде mycd 2.0.1 1.0.8 для переключения.
Вероятно, вы помните о расширении истории. Я не знаю, что было в вашей оболочке в AIX, но один из способов сделать это в bash - ^2.0.1^1.0.8.
Расширение истории менее полезно в таких командах, как bash и zsh, которые имеют мощную командную строку редактирования. Вы можете использовать клавиши со стрелками для вызова предыдущих команд и Alt +. для вставки последнего слова предыдущей команды (нажмите его дважды, чтобы достичь команды до этого и т. д.).
Я сам использовал (и пропустил) эту функцию. Это зависит от того, какой вкус и / или выпуск * nix вы используете. Если вы используете bash, вот удобный способ расширить встроенный компакт-диск, чтобы включить эту функцию. Поместите это в свой .bashrc (или для проверки вставьте его в свою оболочку bash и нажмите Enter).
function cd() { if [ $# -eq 2 ]; then builtin cd ${PWD/$1/$2}; else builtin cd $1; fi }
Если вы являетесь поклонником vi, вы можете включить режим vi в своей оболочке (например, bash -o vi) и использовать командный режим vi ...
Или вы могли бы сделать сумасшедшую историю расширение (проверено в zsh, возможно, в bash):
$ cd /etc/application-1.0.8/options/default
cd: no such file or directory: /etc/application-1.0.8/options/default
$ !!:s/1.0.8/2.0.1/
cd /etc/application-2.0.1/options/default
cd: no such file or directory: /etc/application-2.0.1/options/default
cd `pwd | sed 's/2\.0\.1/1\.0\.8/'`
Однако это не очень мило. Вы можете немного поработать, поставив его в функцию:
function mycd { cd `pwd | sed s$1` }
И затем называя это так:
mycd '/2\.0\.1/1.0.8/'
Вам все равно нужно избегать точек, хотя , но я уверен, что с этим можно поработать, подумав немного.
^2.0.1^1.0.8
Вышеупомянутая команда swap 2.0.1 - 1.0.8 в последней команде, ее работа в bash
Не уверен в AIX, но я помню это как старый трюк оболочки Korn в ящиках Solaris, которые я использовал для администрирования. В вашем примере вы должны ввести команду:
cd 2.0.1 1.0.8
Дополнительная информация здесь.
Для обеспечения работы -P|-L|- используйте следующее:
function cd () {
typeset arg=
case $1 in -|-L|-P) arg=$1 ; shift ;; esac
[ $# -gt 1 ] && {
builtin cd $arg "${PWD/$1/$2}"
} || {
builtin cd $arg "$@"
}
}
Для обеспечения работы -P|-L|- используйте следующее:
function cd () {
typeset arg=
case $1 in -|-L|-P) arg=$1 ; shift ;; esac
[ $# -gt 1 ] && {
builtin cd $arg "${PWD/$1/$2}"
} || {
builtin cd $arg "$@"
}
}
Вероятно, вы помните о расширении истории. Я не знаю, что было в вашей оболочке в AIX, но один из способов сделать это в bash - ^2.0.1^1.0.8.
Расширение истории менее полезно в таких командах, как bash и zsh, которые имеют мощную командную строку редактирования. Вы можете использовать клавиши со стрелками для вызова предыдущих команд и Alt +. для вставки последнего слова предыдущей команды (нажмите его дважды, чтобы достичь команды до этого и т. д.).
Это должно работать в bash на ubuntu 10.04: cd ${PWD/old/new}. В основном это заменяет первое вхождение old в вашем текущем рабочем каталоге с new. 2 примера ниже.
ing02741@hoster:~$ cd /home/ing02741/Videos/
ing02741@hoster:~/Videos$ cd ${PWD/ing02741/koushik}
ing02741@hoster:/home/koushik/Videos$
ing02741@hoster:~/src/cdtest$ mkdir dir-v1.0.1 dir-v2.2.2 dir-v3.0.7
ing02741@hoster:~/src/cdtest$ mkdir dir-v1.0.1/ind dir-v2.2.2/ind dir-v3.0.7/ind
ing02741@hoster:~/src/cdtest$ cd dir-v1.0.1/ind/
ing02741@hoster:~/src/cdtest/dir-v1.0.1/ind$ cd ${PWD/1.0.1/2.2.2}
ing02741@hoster:~/src/cdtest/dir-v2.2.2/ind$
Заимствуя идею sepp2k выше, вы можете сделать такую функцию
function mycd { cd ${PWD/$1/$2} }
, а затем используйте что-то вроде mycd 2.0.1 1.0.8 для переключения.
Если вы являетесь поклонником vi, вы можете включить режим vi в своей оболочке (например, bash -o vi) и использовать командный режим vi ...
Или вы могли бы сделать сумасшедшую историю расширение (проверено в zsh, возможно, в bash):
$ cd /etc/application-1.0.8/options/default
cd: no such file or directory: /etc/application-1.0.8/options/default
$ !!:s/1.0.8/2.0.1/
cd /etc/application-2.0.1/options/default
cd: no such file or directory: /etc/application-2.0.1/options/default
Я сам использовал (и пропустил) эту функцию. Это зависит от того, какой вкус и / или выпуск * nix вы используете. Если вы используете bash, вот удобный способ расширить встроенный компакт-диск, чтобы включить эту функцию. Поместите это в свой .bashrc (или для проверки вставьте его в свою оболочку bash и нажмите Enter).
function cd() { if [ $# -eq 2 ]; then builtin cd ${PWD/$1/$2}; else builtin cd $1; fi }
cd `pwd | sed 's/2\.0\.1/1\.0\.8/'`
Однако это не очень мило. Вы можете немного поработать, поставив его в функцию:
function mycd { cd `pwd | sed s$1` }
И затем называя это так:
mycd '/2\.0\.1/1.0.8/'
Вам все равно нужно избегать точек, хотя , но я уверен, что с этим можно поработать, подумав немного.
^2.0.1^1.0.8
Вышеупомянутая команда swap 2.0.1 - 1.0.8 в последней команде, ее работа в bash
Не уверен в AIX, но я помню это как старый трюк оболочки Korn в ящиках Solaris, которые я использовал для администрирования. В вашем примере вы должны ввести команду:
cd 2.0.1 1.0.8
Дополнительная информация здесь.
Для обеспечения работы -P|-L|- используйте следующее:
function cd () {
typeset arg=
case $1 in -|-L|-P) arg=$1 ; shift ;; esac
[ $# -gt 1 ] && {
builtin cd $arg "${PWD/$1/$2}"
} || {
builtin cd $arg "$@"
}
}
Вероятно, вы помните о расширении истории. Я не знаю, что было в вашей оболочке в AIX, но один из способов сделать это в bash - ^2.0.1^1.0.8.
Расширение истории менее полезно в таких командах, как bash и zsh, которые имеют мощную командную строку редактирования. Вы можете использовать клавиши со стрелками для вызова предыдущих команд и Alt +. для вставки последнего слова предыдущей команды (нажмите его дважды, чтобы достичь команды до этого и т. д.).
Это должно работать в bash на ubuntu 10.04: cd ${PWD/old/new}. В основном это заменяет первое вхождение old в вашем текущем рабочем каталоге с new. 2 примера ниже.
ing02741@hoster:~$ cd /home/ing02741/Videos/
ing02741@hoster:~/Videos$ cd ${PWD/ing02741/koushik}
ing02741@hoster:/home/koushik/Videos$
ing02741@hoster:~/src/cdtest$ mkdir dir-v1.0.1 dir-v2.2.2 dir-v3.0.7
ing02741@hoster:~/src/cdtest$ mkdir dir-v1.0.1/ind dir-v2.2.2/ind dir-v3.0.7/ind
ing02741@hoster:~/src/cdtest$ cd dir-v1.0.1/ind/
ing02741@hoster:~/src/cdtest/dir-v1.0.1/ind$ cd ${PWD/1.0.1/2.2.2}
ing02741@hoster:~/src/cdtest/dir-v2.2.2/ind$
Заимствуя идею sepp2k выше, вы можете сделать такую функцию
function mycd { cd ${PWD/$1/$2} }
, а затем используйте что-то вроде mycd 2.0.1 1.0.8 для переключения.