Есть ли способ вставить все аргументы функции в одну строку?

Перезагрузка с помощью «аварийной оболочки».

Я думаю, что самым быстрым способом может быть перезагрузка компьютера с отключенным принудительным режимом SELinux в аварийной оболочке. Просто передайте «rd.break enforcing=0» в командную строку загрузки ядра (, добавьте к строке, начинающейся с «linux», в меню загрузки GRUB, затем нажмите Ctrl+x для загрузки ). После загрузки перемонтируйте раздел /чтение -запись

mount –o remount,rw /sysroot

В этой оболочке вы можете просто cdввести /sysroot/usr/lib/и/или rmсвою символическую ссылку.

Для выхода введите

reboot
0
28.01.2020, 20:02
2 ответа

"$@"будет заменено всеми аргументами, правильно процитированными, поэтому после сдвига для удаления ярлыка команды sub -:

g () {
  cmd=$1
  shift
  case "$cmd" in
    s) git status "$@" ;;
    d) git diff "$@" ;;
  esac
}

Но вместо этого,Я предлагаю использовать псевдонимы git; установить выше:

git alias s status
git alias d diff

или, если у вас нетgit-alias(обычно в git-extras),

git config --global alias.s status
git config --global alias.d diff

(вам нужно сделать это только один раз, псевдонимы хранятся в~/.gitconfig).

Тогда в своей скорлупе,

alias g=git

И вы обнаружите, что g sи т. д. работают так, как вы ожидаете, в том числе с аргументами.

6
28.04.2021, 23:25

В качестве примера

#!/bin/bash

g () {
    for arg in "$@"; do echo "$arg"; done
}
g 1 2 3 4

Запуск скрипта

$./git.sh
1
2
3
4
0
28.04.2021, 23:25

Теги

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