我编写了一个shell脚本来输入gentoo前缀并运行命令。 但是一旦它进入Gentoo前缀,它就会停止并且不会执行其余的步骤。根据我的说法,控制台已从RHEL更改为GENTOO,这阻止了shell脚本执行其余命令。 有没有办法没有输入GENTOO前缀我可以在shell脚本中执行gentoo特定命令?
使用的命令:
Gentoo_prefix
equery list > file.csv
脚本:
cat file | awk '{print $3}'| cut -d '/' -f3 | cut -d '_' -f1 | sort -u | uniq -u | sed 's/.$//' > files
read -n 2 Detail
files=`echo $Detail | tr '[:upper:]' '[:lower:]'`
read server
Server=`echo $server | tr '[:upper:]' '[:lower:]'`
for nat in $(cat files)
do
for serv in $Server
do
if [ $files == $nat -a $Server == $serv ]
then
ls /tmp/$nat'0_'$serv/ | grep -i python > module
read module_name
ls /tmp/$nat'0_'$serv/$module_name/ | grep ^3 > version
$version_name = ' '
read version_name
for name in $(cat version)
do
if [ $version_name == ' ' ]
for pack in $(cat module)
do
if [ $version_name == $pack ]
then
$version_name
equery list > components.csv
答案 0 :(得分:1)
为了向脚本中的命令提供输入,您必须通过管道输入或使用here-doc,而不是像输入交互式命令一样将输入放在命令之后。
if [ $version_name == $pack ]
then
echo 'equery list > components.csv' | $version_name
或
if [ $version_name == $pack ]
then
$version_name <<EOF
equery list > components.csv
EOF