LINUX.ORG.RU

alias и $1

 , ,


1

1

Предъистория. Захотелось объединить 2 команды: slackpkg search PKG && sbopkg -g PKG. Попробовал так:

# alias spb='slackpkg search $1 && sbopkg -g $1'
# spb smp
slackpkg - version 2.81.1

Usage:
	slackpkg [OPTIONS] {install|remove|search|file-search|
			    upgrade|reinstall|blacklist} {PATTERN|FILE}
	slackpkg [OPTIONS] {generate-template|install-template|remove-template}
			   TEMPLATENAME
	slackpkg [OPTIONS] info PACKAGE
	slackpkg [OPTIONS] update [gpg]
	slackpkg [OPTIONS] {clean-system|upgrade-all|install-new}
	slackpkg [OPTIONS] {new-config|check-updates|help}

If you need more information try to use 'slackpkg help' or look the
slackpkg's manpage.


Searching for smp
Found the following matches for smp:
multimedia/smpeg
multimedia/smplayer

как видно выше первая команда не обработалась. Стал копать:

┌─[ /tmp ]
└─$ alias spb='echo $1 && echo $1'
┌─[ /tmp ]
└─$ spb smplayer

smplayer
┌─[ /tmp ]
└─$ alias spb='echo N && echo $1'
┌─[ /tmp ]
└─$ spb smplayer
N
smplayer
И в принципе, у меня вопрос, как в alias вместить 2 команды с переменной, берущейся из ключа?

★★★★★

Последнее исправление: NK (всего исправлений: 2)

используй функцию вместо алиаса

zolden ★★★★★
()

slackalias() { slackpkg search $1 && sbopkg -g $1 }
slackalias PKG

mystery ★★
()

Предъистория

Не в тему, но.

IPR ★★★★★
()
Ответ на: комментарий от beastie

$1 с alias'ами не работает.

а так ведь, работает

┌─[ /tmp ]
└─$ alias Say='echo ": $1"'
┌─[ /tmp ]
└─$ Say HELLO
:  HELLO
NK ★★★★★
() автор топика
Ответ на: комментарий от NK

Нет, не работает.

$ cat ./tst1
#!/bin/sh
  alias Say='echo ${1}'
  Say Tak
  Say
exit # tst1
$ ./tst1
Tak

$ ./tst1 Vot
Vot Tak
Vot

Тебе подробно расписать, что происходит, или сам посмотришь в bash(1), какие подстановки и в каком порядке применяются?

ABW ★★★★★
()
Последнее исправление: ABW (всего исправлений: 1)

Так не сработает.

[nexfwall@VPCYB1S1R-OS01 ~]$ alias dumbuss='echo $1 && echo -e "\t$1"'
[nexfwall@VPCYB1S1R-OS01 ~]$ set -x
[nexfwall@VPCYB1S1R-OS01 ~]$ dumbuss dumpass
+ echo

+ echo -e '\t' dumpass
	 dumpass
Используй функцию.

nexfwall ★★★★
()
Последнее исправление: nexfwall (всего исправлений: 1)
Ответ на: комментарий от beastie

Ну что ж, понятно, спасибо вот так в /root/.bashrc прописал

function spb {
echo "-------------------------"
echo "### slackpkg #####"
slackpkg search $1
echo "-------------------------"
echo "### sbopkg #####"
sbopkg -g $1
echo "-------------------------"
}

работает

на будущее, не подскажите, а вот функцию, как-то в одну строчку прописать можно?
Я про что-то в виде: spb1 (){ slackpkg search $1 && sbopkg -g $1 }

NK ★★★★★
() автор топика
Ответ на: комментарий от NK

на будущее, не подскажите, а вот функцию, как-то в одну строчку прописать можно?

А почему нет?

~$ ggg (){ echo 11; echo 22; }; 
~$ ggg
11
22

ashot ★★★★
()
Ответ на: комментарий от ashot

slapt-get slapt-src

да, вот она может, а у salix даже инструмент есть для этого объединяющий эти проги: spi, но опять таки реп должен для slapt-get желательно что бы был проверен и настроен, по моему опыту могу сказать вот этот к примеру http://slackware.org.uk/msb/MSB_SLACKPKG к slapt-get не прикрутишь, я вот и забил , slackpkg+ решил отделаться

NK ★★★★★
() автор топика
Ответ на: комментарий от ashot

ага, оно, спасибо,

после «}» - ";" не ставил, вроде работает

# spb1 (){ echo "##### slackpkg #####" && slackpkg search $1 && echo "##### sbopkg #####" && sbopkg -g $1 && echo -e; }
# spb1 gajim
##### slackpkg #####

DONE

The list below shows all packages with name matching "gajim".

[ Status           ] [ Repository               ] [ Package                                  ]
  upgrade              salix                        gajim-0.16-i486-1_SBo --> gajim-0.16.beta2-i486-1cp  
  upgrade              ponce                        gajim-0.16-i486-1_SBo --> gajim-0.16-i486-1ponce  

You can search specific files using "slackpkg file-search file".


##### sbopkg #####
Searching for gajim
Found the following matches for gajim:
network/gajim

NK ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.