2014-10-24 3 views
-2

У меня есть скрипт, который принимает UUID в качестве аргумента. Когда я запускаю его вручную, я могу получить к нему доступ, используя пользовательскую вкладку, которую я написал. Есть ли способ получить доступ к этому завершению в сценарии оболочки?Использование завершения Bash в скрипте

~/myscript stop 0011<tab> 

Он завершит к:

~/myscript stop 0011-1111-1111-1111 

Edit: Например:

#!/bin/bash 
echo "~/myscript stop \t" | bash -i 

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

+2

, когда вы * писание * сценарий? Возможно, но это будет предоставлено вашим редактором, а не оболочкой. – chepner

+0

'id' [command] в скрипте будет работать для вас .. не принимать аргументы извне – Ashish

+0

Вы спрашиваете, можете ли вы запустить' ~/myscript stop 0011-1111-1111-1111' и иметь доступ к myscript значение '0011-1111-1111-1111'? –

ответ

0

Я не уверен, почему вы не можете просто поместить полный UUID в свой скрипт. Но я ожидаю, что вы сможете делать то, что хотите, используя bash compgen builtin.

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

Например, в моем домашнем каталоге,

compgen -f .ba 

печатает

.bash_history 
.bashrc.dpkg-old 
.bashrc 
.bash_logout 
.bashrc~ 
+0

Ах, это очень полезно, это то, что я искал. Не был уверен, с чего начать. –

Смежные вопросы