Як використовувати - як псевдонім?


11

Коли я використовував openSUSE 11.3, він отримав декілька псевдонімів, які вже створені. Два, які я багато використовував, були +для pushd .і -для popd. Тепер на Debian я не можу зрозуміти, як створити другий. alias -=popdнамагається прочитати -=псевдонім як варіант команди. Я спробував поставити цитати (як одиничні, так і подвійні) навколо нього та передуючи цьому з нахилом, але я просто продовжую отримувати повідомлення про помилки. Будь-які пропозиції?

Спасибі

Відповіді:


12

спробуйте це:

alias -- -=popd

працював принаймні для мене:

usr@srv % alias -- -=echo
usr@srv % - test
test

Дякую, працює чудово. Що саме робить --?
Вовк

4
@Wolf: для більшості команд --позначає кінець параметрів; все після нього - аргументи. Наприклад, logger foo -x barзаписував би "foo bar" і розглядав би -xяк варіант, тоді як logger -- foo -x barтрактував би це як звичайне слово у повідомленні "foo -x bar".
користувач1686

1
--Вказує , що більше опцій не йдуть в командному рядку, такі -«s Не брати до уваги як опції. Отже, це дозволяє вам завантажувати catфайли, які починаються з -;-)
binfalse

@grawity та @binfalse: Дякую за пояснення, це дуже корисно! Дуже добре знати.
Вовк

7

У bashви можете створювати функції з іменами , як , наприклад:

+() { pushd "$@"; }
-() { popd "$@"; }

що таке $@?
Лазер

2
@Lazer: В sh і bash $@розширюється на всі аргументи, задані функції або скрипту. Без котирування це працює так само, як і $*. Однак всередині подвійних лапок воно розширюється до абсолютно тих самих слів, що і спочатку, без додаткового розбиття.
користувач1686

@Lazer: $@розширюється на всі параметри, передані функції (еквівалентно "$1" "$2" ...). Для отримання додаткової інформації виконайте man bashпошук та шукайте Спеціальні параметри.
Андре Парамеш
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.