Как я могу преобразовать эту функцию удара в оболочку рыбы

Бэкпортирование для сжимания/стабильного возможно, но нетривиально. Вот патч против файлов в debian каталог, который применяется против 4.7.0-1 Источники Debian в тестировании (должен также работать против, по-видимому, немного отличающейся версии 4.7.0-3 в нестабильном), и должен позволить тому успешно основываться, сжимают, хотя я не протестировал патч непосредственно путем применения его к нетронутым источникам. Очевидно, установка двоичных пакетов от тестирования на конюшне возможна, но не хорошая идея в целом. Выполнение таких вещей является рецептом для нестабильности и побеждает цель использовать стабильный во-первых. Однако бэкпортирование этим способом не должно вызывать дополнительные обновления и не вызывать проблемы с Вашей системой.

Я не вспоминаю изменений внесения в rules.parameters, но большая часть остальной части патча является изменениями, которые я внес, в противоположность сгенерированным изменениям машины. Попытайтесь применить этот патч к источникам Debian и работать debuild binary или подобный. Я мог загрузить патч где-нибудь, если существует интерес, и если получение его из этого сообщения не удобно. Сообщения об успехе и одобренном отказе.

Примечания:

  • Это потребует установки набора зависимостей от сборки, но только от сжатия,
    и apt-get build-dep не будет работать, так как зависимости от сборки были локально
    измененный - необходимо будет сделать это вручную.
  • Сборка libgcc1-dbg давал ошибки, таким образом, я вынул его.
  • Набор тестов имеет некоторые проблемы, таким образом, я отключил их. Посмотрите строки with_check := disabled by hand. Проблемой не является тестовый сбой, но сборка не может найти некоторые файлы связанными с тестами, таким образом, это ошибки.
  • Я заменил binutils версией в сжатии, а именно, binutils (>= 2.20.1).
  • Я отключил multilib, с тех пор сжимают, не использует его.
  • Эта версия была протестирована на amd64, но должна также работать в i386, по крайней мере.
#
diff -r 04f0dc0998f4 -r 77371b9693ea control
--- a/control   Tue Apr 03 04:38:21 2012 -0400
+++ b/control   Sun Apr 15 03:46:44 2012 -0400
@@ -4,7 +4,7 @@
 Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org>
 Uploaders: Matthias Klose <doko@debian.org>
 Standards-Version: 3.9.3
-Build-Depends: dpkg-dev (>= 1.16.0~ubuntu4), debhelper (>= 5.0.62), g++-multilib [amd64 i386 kfreebsd-amd64 mips mipsel powerpc ppc64 s390 s390x sparc], libc6.1-dev (>= 2.13-5) [alpha ia64] | libc0.3-dev (>= 2.13-5) [hurd-i386] | libc0.1-dev (>= 2.13-5) [kfreebsd-i386 kfreebsd-amd64] | libc6-dev (>= 2.13-5), libc6-dev-amd64 [i386], libc6-dev-sparc64 [sparc], libc6-dev-s390 [s390x], libc6-dev-s390x [s390], libc6-dev-i386 [amd64], libc6-dev-powerpc [ppc64], libc6-dev-ppc64 [powerpc], libc0.1-dev-i386 [kfreebsd-amd64], lib32gcc1 [amd64 ppc64 kfreebsd-amd64 s390x], lib64gcc1 [i386 powerpc sparc s390], libc6-dev-mips64 [mips mipsel], libc6-dev-mipsn32 [mips mipsel], m4, libtool, autoconf2.64, automake (>= 1:1.11), automake (<< 1:1.12), libunwind7-dev (>= 0.98.5-6) [ia64], libatomic-ops-dev [ia64], zlib1g-dev, gawk, lzma, xz-utils, patchutils, binutils (>= 2.21.1) | binutils-multiarch (>= 2.21.1), binutils-hppa64 (>= 2.21.1) [hppa], gperf (>= 3.0.1), bison (>= 1:2.3), flex, gettext, texinfo (>= 4.3), locales [!knetbsd-i386 !knetbsd-alpha], procps, sharutils, binutils-spu (>= 2.21.1) [powerpc ppc64], newlib-spu (>= 1.16.0) [powerpc ppc64], libcloog-ppl-dev (>= 0.15.9-2~), libmpc-dev, libmpfr-dev (>= 3.0.0-9~), libgmp-dev (>= 2:5.0.1~), libelfg0-dev (>= 0.8.12), dejagnu [!m68k !hurd-i386 !hurd-alpha], autogen, realpath (>= 1.9.12), chrpath, lsb-release, make (>= 3.81), quilt
+Build-Depends: dpkg-dev (>= 1.14.15), debhelper (>= 5.0.62), g++-multilib [amd64 i386 kfreebsd-amd64 mips mipsel powerpc ppc64 s390 s390x sparc], libc6.1-dev (>= 2.11) [alpha ia64] | libc0.3-dev (>= 2.11) [hurd-i386] | libc0.1-dev (>= 2.11) [kfreebsd-i386 kfreebsd-amd64] | libc6-dev (>= 2.11), libc6-dev-amd64 [i386], libc6-dev-sparc64 [sparc], libc6-dev-s390 [s390x], libc6-dev-s390x [s390], libc6-dev-i386 [amd64], libc6-dev-powerpc [ppc64], libc6-dev-ppc64 [powerpc], libc0.1-dev-i386 [kfreebsd-amd64], lib32gcc1 [amd64 ppc64 kfreebsd-amd64 s390x], lib64gcc1 [i386 powerpc sparc s390], libc6-dev-mips64 [mips mipsel], libc6-dev-mipsn32 [mips mipsel], m4, libtool, autoconf2.64, automake (>= 1:1.11), automake (<< 1:1.12), libunwind7-dev (>= 0.98.5-6) [ia64], libatomic-ops-dev [ia64], zlib1g-dev, gawk, lzma, xz-utils, patchutils, binutils (>= 2.20.1) | binutils-multiarch (>= 2.20.1), binutils-hppa64 (>= 2.20.1) [hppa], gperf (>= 3.0.1), bison (>= 1:2.3), flex, gettext, texinfo (>= 4.3), locales [!knetbsd-i386 !knetbsd-alpha], procps, sharutils, binutils-spu (>= 2.20.1) [powerpc ppc64], newlib-spu (>= 1.16.0) [powerpc ppc64], libcloog-ppl-dev (>= 0.15.9-2~), libmpc-dev, libmpfr-dev, libgmp3-dev, libelfg0-dev (>= 0.8.12), dejagnu [!m68k !hurd-i386 !hurd-alpha], autogen, realpath (>= 1.9.12), chrpath, lsb-release, make (>= 3.81), quilt
 Build-Conflicts: binutils-gold
 Homepage: http://gcc.gnu.org/
 XS-Vcs-Browser: http://svn.debian.org/viewsvn/gcccvs/branches/sid/gcc-4.7/
@@ -12,7 +12,6 @@

 Package: gcc-4.7-base
 Architecture: any
-Multi-Arch: same
 Section: libs
 Priority: required
 Depends: ${misc:Depends}
@@ -27,33 +26,32 @@
 Section: libs
 Priority: required
 Depends: gcc-4.7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
-Multi-Arch: same
-Pre-Depends: multiarch-support
-Breaks: ${multiarch:breaks}
 Provides: libgcc1-armel [armel], libgcc1-armhf [armhf]
 Description: GCC support library
  Shared version of the support library, a library of internal subroutines
  that GCC uses to overcome shortcomings of particular machines, or
  special needs for some languages.

-Package: libgcc1-dbg
-Architecture: any
-Section: debug
-Priority: extra
-Depends: gcc-4.7-base (= ${gcc:Version}), libgcc1 (= ${gcc:EpochVersion}), ${misc:Depends}
-Multi-Arch: same
-Provides: libgcc1-dbg-armel [armel], libgcc1-dbg-armhf [armhf]
-Description: GCC support library (debug symbols)
- Debug symbols for the GCC support library.
+# Package: libgcc1-dbg`'LS
+# Architecture: ifdef(`TARGET',`all',`any')
+# Section: debug
+# Priority: extra
+# Depends: BASEDEP, libgcc1`'LS (= ${gcc:EpochVersion}), ${misc:Depends}
+# ifdef(`TARGET',`dnl',ifdef(`MULTIARCH', `Multi-Arch: same'))
+# ifdef(`TARGET',`dnl',`Provides: libgcc1-dbg-armel [armel], libgcc1-dbg-armhf [armhf]')
+# Description: GCC support library (debug symbols)`'ifdef(`TARGET)',` (TARGET)', `')
+#  Debug symbols for the GCC support library.
+# ifdef(`TARGET', `dnl
+#  .
+#  This package contains files for TARGET architecture, for use in cross-compile
+#  environment.
+# ')`'dnl

 Package: libgcc2
 Architecture: m68k
 Section: libs
 Priority: required
 Depends: gcc-4.7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
-Multi-Arch: same
-Pre-Depends: multiarch-support
-Breaks: ${multiarch:breaks}
 Description: GCC support library
  Shared version of the support library, a library of internal subroutines
  that GCC uses to overcome shortcomings of particular machines, or
@@ -64,15 +62,11 @@
 Section: debug
 Priority: extra
 Depends: gcc-4.7-base (= ${gcc:Version}), libgcc2 (= ${gcc:Version}), ${misc:Depends}
-Multi-Arch: same
 Description: GCC support library (debug symbols)
  Debug symbols for the GCC support library.

 Package: libgcc4
 Architecture: hppa
-Multi-Arch: same
-Pre-Depends: multiarch-support
-Breaks: ${multiarch:breaks}
 Section: libs
 Priority: required
 Depends: gcc-4.7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
@@ -83,7 +77,6 @@

 Package: libgcc4-dbg
 Architecture: hppa
-Multi-Arch: same
 Section: debug
 Priority: extra
 Depends: gcc-4.7-base (= ${gcc:Version}), libgcc4 (= ${gcc:Version}), ${misc:Depends}
@@ -174,7 +167,7 @@
 Architecture: any
 Section: devel
 Priority: optional
-Depends: gcc-4.7-base (= ${gcc:Version}), gcc-4.7 (= ${gcc:Version}), libgmp-dev (>= 2:5.0.1~), ${shlibs:Depends}, ${misc:Depends}
+Depends: gcc-4.7-base (= ${gcc:Version}), gcc-4.7 (= ${gcc:Version}), libgmp3-dev, ${shlibs:Depends}, ${misc:Depends}
 Description: Files for GNU GCC plugin development.
  This package contains (header) files for GNU GCC plugin development. It
  is only used for the development of GCC plugins, but not needed to run
@@ -268,9 +261,6 @@

 Package: libmudflap0
 Architecture: any
-Multi-Arch: same
-Pre-Depends: multiarch-support
-Breaks: ${multiarch:breaks}
 Provides: libmudflap0-armel [armel], libmudflap0-armhf [armhf]
 Section: libs
 Priority: optional
@@ -281,7 +271,6 @@

 Package: libmudflap0-dbg
 Architecture: any
-Multi-Arch: same
 Provides: libmudflap0-dbg-armel [armel], libmudflap0-dbg-armhf [armhf]
 Section: debug
 Priority: extra
@@ -364,9 +353,6 @@
 Package: libgomp1
 Section: libs
 Architecture: any
-Multi-Arch: same
-Pre-Depends: multiarch-support
-Breaks: ${multiarch:breaks}
 Provides: libgomp1-armel [armel], libgomp1-armhf [armhf]
 Priority: optional
 Depends: gcc-4.7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
@@ -379,7 +365,6 @@
 Section: debug
 Priority: extra
 Depends: gcc-4.7-base (= ${gcc:Version}), libgomp1 (= ${gcc:Version}), ${misc:Depends}
-Multi-Arch: same
 Provides: libgomp1-dbg-armel [armel], libgomp1-dbg-armhf [armhf]
 Description: GCC OpenMP (GOMP) support library (debug symbols)
  GOMP is an implementation of OpenMP for the C, C++, and Fortran compilers
@@ -442,8 +427,6 @@
 Package: libitm1
 Section: libs
 Architecture: any
-Multi-Arch: same
-Pre-Depends: multiarch-support
 Provides: libitm1-armel [armel], libitm1-armhf [armhf]
 Priority: optional
 Depends: gcc-4.7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
@@ -457,7 +440,6 @@
 Section: debug
 Priority: extra
 Depends: gcc-4.7-base (= ${gcc:Version}), libitm1 (= ${gcc:Version}), ${misc:Depends}
-Multi-Arch: same
 Provides: libitm1-dbg-armel [armel], libitm1-dbg-armhf [armhf]
 Description: GNU Transactional Memory Library (debug symbols)
  This manual documents the usage and internals of libitm. It provides
@@ -528,8 +510,6 @@
 Package: libquadmath0
 Section: libs
 Architecture: any
-Multi-Arch: same
-Pre-Depends: multiarch-support
 Priority: optional
 Depends: gcc-4.7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
 Description: GCC Quad-Precision Math Library
@@ -542,7 +522,6 @@
 Section: debug
 Priority: extra
 Depends: gcc-4.7-base (= ${gcc:Version}), libquadmath0 (= ${gcc:Version}), ${misc:Depends}
-Multi-Arch: same
 Description: GCC Quad-Precision Math Library (debug symbols)
  A library, which provides quad-precision mathematical functions on targets
  supporting the __float128 datatype.
@@ -654,8 +633,6 @@
 Package: libobjc4
 Section: libs
 Architecture: any
-Multi-Arch: same
-Pre-Depends: multiarch-support
 Provides: libobjc4-armel [armel], libobjc4-armhf [armhf]
 Priority: optional
 Depends: gcc-4.7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
@@ -665,7 +642,6 @@
 Package: libobjc4-dbg
 Section: debug
 Architecture: any
-Multi-Arch: same
 Provides: libobjc4-dbg-armel [armel], libobjc4-dbg-armhf [armhf]
 Priority: extra
 Depends: gcc-4.7-base (= ${gcc:Version}), libobjc4 (= ${gcc:Version}), libgcc1-dbg, ${misc:Depends}
@@ -748,9 +724,6 @@
 Package: libgfortran3
 Section: libs
 Architecture: any
-Multi-Arch: same
-Pre-Depends: multiarch-support
-Breaks: ${multiarch:breaks}
 Provides: libgfortran3-armel [armel], libgfortran3-armhf [armhf]
 Priority: optional
 Depends: gcc-4.7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
@@ -761,7 +734,6 @@
 Package: libgfortran3-dbg
 Section: debug
 Architecture: any
-Multi-Arch: same
 Provides: libgfortran3-dbg-armel [armel], libgfortran3-dbg-armhf [armhf]
 Priority: extra
 Depends: gcc-4.7-base (= ${gcc:Version}), libgfortran3 (= ${gcc:Version}), ${misc:Depends}
@@ -850,8 +822,6 @@
 Package: libgo0
 Section: libs
 Architecture: any
-Multi-Arch: same
-Pre-Depends: multiarch-support
 Provides: libgo0-armel [armel], libgo0-armhf [armhf]
 Priority: optional
 Depends: gcc-4.7-base (= ${gcc:Version}), ${shlibs:Depends}, ${misc:Depends}
@@ -862,7 +832,6 @@
 Package: libgo0-dbg
 Section: debug
 Architecture: any
-Multi-Arch: same
 Provides: libgo0-dbg-armel [armel], libgo0-dbg-armhf [armhf]
 Priority: extra
 Depends: gcc-4.7-base (= ${gcc:Version}), libgo0 (= ${gcc:Version}), ${misc:Depends}
@@ -930,9 +899,6 @@
 Section: libs
 Priority: important
 Depends: gcc-4.7-base (= ${gcc:Version}), ${dep:libc}, ${shlibs:Depends}, ${misc:Depends}
-Multi-Arch: same
-Pre-Depends: multiarch-support
-Breaks: ${multiarch:breaks}
 Provides: libstdc++6-armel [armel], libstdc++6-armhf [armhf]
 Conflicts: scim (<< 1.4.2-1)
 Description: GNU Standard C++ Library v3
@@ -1011,7 +977,6 @@
 Section: debug
 Priority: extra
 Depends: gcc-4.7-base (= ${gcc:Version}), libstdc++6 (>= ${gcc:Version}), libgcc1-dbg, ${shlibs:Depends}, ${misc:Depends}
-Multi-Arch: same
 Provides: libstdc++6-4.7-dbg-armel [armel], libstdc++6-4.7-dbg-armhf [armhf]
 Recommends: libstdc++6-4.7-dev (= ${gcc:Version})
 Conflicts: libstdc++5-dbg, libstdc++5-3.3-dbg, libstdc++6-dbg, libstdc++6-4.0-dbg, libstdc++6-4.1-dbg, libstdc++6-4.2-dbg, libstdc++6-4.3-dbg, libstdc++6-4.4-dbg, libstdc++6-4.5-dbg, libstdc++6-4.6-dbg
diff -r 04f0dc0998f4 -r 77371b9693ea control.m4
--- a/control.m4    Tue Apr 03 04:38:21 2012 -0400
+++ b/control.m4    Sun Apr 15 03:46:44 2012 -0400
@@ -182,20 +182,20 @@
  environment.
 ')`'dnl

-Package: libgcc1-dbg`'LS
-Architecture: ifdef(`TARGET',`all',`any')
-Section: debug
-Priority: extra
-Depends: BASEDEP, libgcc1`'LS (= ${gcc:EpochVersion}), ${misc:Depends}
-ifdef(`TARGET',`dnl',ifdef(`MULTIARCH', `Multi-Arch: same'))
-ifdef(`TARGET',`dnl',`Provides: libgcc1-dbg-armel [armel], libgcc1-dbg-armhf [armhf]')
-Description: GCC support library (debug symbols)`'ifdef(`TARGET)',` (TARGET)', `')
- Debug symbols for the GCC support library.
-ifdef(`TARGET', `dnl
- .
- This package contains files for TARGET architecture, for use in cross-compile
- environment.
-')`'dnl
+# Package: libgcc1-dbg`'LS
+# Architecture: ifdef(`TARGET',`all',`any')
+# Section: debug
+# Priority: extra
+# Depends: BASEDEP, libgcc1`'LS (= ${gcc:EpochVersion}), ${misc:Depends}
+# ifdef(`TARGET',`dnl',ifdef(`MULTIARCH', `Multi-Arch: same'))
+# ifdef(`TARGET',`dnl',`Provides: libgcc1-dbg-armel [armel], libgcc1-dbg-armhf [armhf]')
+# Description: GCC support library (debug symbols)`'ifdef(`TARGET)',` (TARGET)', `')
+#  Debug symbols for the GCC support library.
+# ifdef(`TARGET', `dnl
+#  .
+#  This package contains files for TARGET architecture, for use in cross-compile
+#  environment.
+# ')`'dnl

 Package: libgcc2`'LS
 Architecture: ifdef(`TARGET',`all',`m68k')
diff -r 04f0dc0998f4 -r 77371b9693ea rules.conf
--- a/rules.conf    Tue Apr 03 04:38:21 2012 -0400
+++ b/rules.conf    Sun Apr 15 03:46:44 2012 -0400
@@ -132,9 +132,9 @@
 # We need binutils (>= 2.19.1) for a new dwarf unwind expression opcode.
 # See http://gcc.gnu.org/ml/gcc-patches/2008-09/msg01713.html
 ifeq ($(trunk_build),yes)
-  BINUTILSV = 2.22
+  BINUTILSV = 2.20.1
 else
-  BINUTILSV = 2.21.1
+  BINUTILSV = 2.20.1
 endif
 ifeq ($(DEB_CROSS),yes)
   BINUTILS_BUILD_DEP = binutils$(TS) (>= $(BINUTILSV)), binutils-multiarch (>= $(BINUTILSV))
diff -r 04f0dc0998f4 -r 77371b9693ea rules.d/binary-libgcc.mk
--- a/rules.d/binary-libgcc.mk  Tue Apr 03 04:38:21 2012 -0400
+++ b/rules.d/binary-libgcc.mk  Sun Apr 15 03:46:44 2012 -0400
@@ -65,16 +65,14 @@
    )

    debian/dh_doclink -p$(p_l) $(if $(3),$(3),$(p_base))
-   debian/dh_doclink -p$(p_d) $(if $(3),$(3),$(p_base))
    debian/dh_rmemptydirs -p$(p_l)
-   debian/dh_rmemptydirs -p$(p_d)
-   dh_strip -p$(p_l) --dbg-package=$(p_d)
+   dh_strip -p$(p_l)

    # see Debian #533843 for the __aeabi symbol handling; this construct is
    # just to include the symbols for dpkg versions older than 1.15.3 which
    # didn't allow bypassing the symbol blacklist
    $(if $(filter yes,$(with_shared_libgcc)),
-       dh_makeshlibs -p$(p_l) -p$(p_d) \
+       dh_makeshlibs -p$(p_l) \
            -- -v$(DEB_LIBGCC_VERSION)
        $(call cross_mangle_shlibs,$(p_l))
        $(if $(filter arm-linux-gnueabi%,$(DEB_TARGET_GNU_TYPE)),
@@ -89,9 +87,9 @@
    DIRNAME=$(subst n,,$(2)) $(cross_shlibdeps) dh_shlibdeps -p$(p_l)
    $(call cross_mangle_substvars,$(p_l))

-   dh_compress -p$(p_l) -p$(p_d)
-   dh_fixperms -p$(p_l) -p$(p_d)
-   dh_gencontrol -p$(p_l) -p$(p_d) \
+   dh_compress -p$(p_l)
+   dh_fixperms -p$(p_l)
+   dh_gencontrol -p$(p_l) \
        -- -v$(DEB_LIBGCC_VERSION) $(common_substvars)
    $(call cross_mangle_control,$(p_l))

@@ -101,9 +99,9 @@
            > $(d_l)/usr/share/lintian/overrides/$(p_l)
    )

-   dh_installdeb -p$(p_l) -p$(p_d)
-   dh_md5sums -p$(p_l) -p$(p_d)
-   dh_builddeb -p$(p_l) -p$(p_d)
+   dh_installdeb -p$(p_l)
+   dh_md5sums -p$(p_l)
+   dh_builddeb -p$(p_l)

    trap '' 1 2 3 15; touch $@; mv $(install_stamp)-tmp $(install_stamp)
 endef
diff -r 04f0dc0998f4 -r 77371b9693ea rules.defs
--- a/rules.defs    Tue Apr 03 04:38:21 2012 -0400
+++ b/rules.defs    Sun Apr 15 03:46:44 2012 -0400
@@ -991,7 +991,7 @@
 # run testsuite ---------------
 with_check := yes
 # if you don't want to run the gcc testsuite, uncomment the next line
-#with_check := disabled by hand
+with_check := disabled by hand
 ifeq ($(with_base_only),yes)
   with_check := no
 endif
diff -r 04f0dc0998f4 -r 77371b9693ea rules.parameters
--- a/rules.parameters  Tue Apr 03 04:38:21 2012 -0400
+++ b/rules.parameters  Sun Apr 15 03:46:44 2012 -0400
@@ -2,15 +2,15 @@
 GCC_VERSION    := 4.7.0
 NEXT_GCC_VERSION   := 4.7.1
 BASE_VERSION   := 4.7
-SOURCE_VERSION := 4.7.0~rc2-1
-DEB_VERSION    := 4.7.0~rc2-1
-DEB_EVERSION   := 1:4.7.0~rc2-1
+SOURCE_VERSION := 4.7.0-1
+DEB_VERSION    := 4.7.0-1
+DEB_EVERSION   := 1:4.7.0-1
 GDC_BASE_VERSION  := 
 DEB_GDC_VERSION    := 
 DEB_SOVERSION  := 4.7
 DEB_SOEVERSION := 1:4.7
 DEB_LIBGCC_SOVERSION   := 1:4.7
-DEB_LIBGCC_VERSION := 1:4.7.0~rc2-1
+DEB_LIBGCC_VERSION := 1:4.7.0-1
 DEB_STDCXX_SOVERSION   := 4.7
 DEB_GCJ_SOVERSION  := 4.7
 PKG_GCJ_EXT    := 13
3
08.06.2013, 02:24
1 ответ

Вот рабочая функция, это подобно Вашей тестовой функции.

 function testvarz
      switch (count $argv)
          case 0
              echo 'zero'
          case 1
              echo "one $argv[1]"
          case 2
              echo "two $argv[1] $argv[2]"
          case '*'
              echo 'else'
      end
  end

Можно использовать подобную структуру для Вашего connect функция.

Между прочим, необходимо так же использовать $# в Вашем Bash функционируют вместо того, чтобы пытаться полагаться $2 быть пустым. Можно также использовать a case оператор в Bash.

4
27.01.2020, 21:20

Теги

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