1

Я пытаюсь создать псевдоним в bash, например:

псевдоним cat /home /file = 'cat /home /thisfile'

Я понятия не имею, почему это не работает. Я пытался везде найти ответ в Google, и из того, что я могу сказать, этот сайт получит ответ. -Janice

2 ответа2

5

Вы можете использовать псевдонимы только для команд, а не для их аргументов.

Если вы хотите, чтобы /home/file был заменен на /home/thisfile , но только если это первый аргумент команды cat , вы можете определить функцию cat которая проверяет свой аргумент и вызывает соответствующую команду:

cat () {
  if [ "$1" = "/home/file" ]; then shift; set "/home/thisfile" "$@"; fi
  command cat "$@"
}

Но я сомневаюсь, что это то, что вы действительно хотите, это было бы странным требованием. Предложение Даниэля Бека о символическом звучит правильно. Поскольку вы отвергаете это, вам следует больше объяснить, чего вы пытаетесь достичь. Может быть, тогда люди могут предложить лучшие предложения.

2

У вас не может быть псевдонима, который содержит два слова, вместо этого используйте функцию и используйте awk для разделения снимков.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .