【发布时间】:2017-12-09 22:41:06
【问题描述】:
我有一个 bourne 脚本,它将可执行文件的名称作为参数,并将 jenkins 归档的可执行文件安装到可执行文件路径。
root@host:~# cat `which jinstall`
#! /bin/sh
if [ "$#" -eq 2 ]; then
if ! [ -e "/var/lib/jenkins/jobs/$1/builds/$2/archive/$1" ]; then
echo "$1 build $2 not found"
exit 1
fi
rm /opt/user/bak/$1 2>/dev/null
mv /opt/user/bin/$1 /opt/user/bak 2>/dev/null
cp /var/lib/jenkins/jobs/$1/builds/$2/archive/$1 /opt/user/bin
chown root:user /opt/user/bin/$1
chmod 650 /opt/user/bin/$1
ls -al /opt/user/bin/$1
else
echo "Usage: jinstall <executable> <build_number>"
fi
我的问题是:如何为这个脚本的参数设置 bash 自动完成候选者?这是针对 BASH shell 的。
当我输入诸如“killall”之类的命令和几个字母然后按 TAB 时,bash 会使用可执行名称自动完成参数。我希望使用 /opt/user/bin 中已有的可执行文件或 /var/lib/jenkins/jobs/ 的子目录的名称自动完成参数
谢谢
【问题讨论】:
标签: bash jenkins autocomplete