Почему tcsh не может выполнить однострочную команду 'which -> vim'?

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

Я ранее упоминал подробный , но на самом деле это относится только к другим конкретным параметрам ядра, таким как acpi, как вы можете прочитать выше.

Имея представление о вашем точном оборудовании, как, кажется, у вас есть, вы можете углубиться в эту статью о взломе ядра

Этот файл должен быть включен в / linux / documentationn согласно статье на Проект документации Linux (TLDP.org)

1
10.05.2019, 10:01
2 ответа

csh и tcshне имеют функций.

Единственный способ — использовать псевдонимы и передавать им аргументы через !подстановки истории:

alias superwhich 'vim "`which \!:1`"'

superwhich bzgrep

Или лучше (с проверкой ошибок):

alias superwhich 'set q = `which \!:1`; if(-r "$q") vim "$q"'
2
27.01.2020, 23:30

Вы можете определить скрипт для этого:

#! /bin/sh -
for cmd do
  if
    cmd_path=$(command -v -- "$cmd")
  then
    set -- "$@" "$cmd_path"
  else
    printf >&2 '"%s" not found\n' "$cmd"
  fi
  shift
done
[ "$#" -gt 0 ] && vim -- "$@"

Тогда это можно было использовать из любой оболочки.

Обратите внимание, что это не будет работать для shвстроенных функций (, таких как echo/ [... ).

С zshвы бы просто бежали:

vim =cmd

или

vim cmd(:P)

для редактирования файла команды cmd.

0
27.01.2020, 23:30

Теги

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