我想在linux下配置Eclipse來運行帶有參數的.sh腳本。爲此,我正在使用外部工具配置。我能夠運行我的腳本,但只要我添加一個參數,我會在控制檯收到一條消息the input device is not a TTY
,並且腳本不會運行。這是我的配置:不能用參數運行外部工具
什麼可能是這種情況?我將不勝感激所有幫助。
編輯:這是腳本:
#!/bin/bash
EDISON_DEVICE="[email protected]:/tmp"
WORK_DIR=$(pwd)
CLEAN=false
BUILD=false
TEST=false
CREATE_DOC=false
UPLOAD=false
#tabs 30
if [ $# -eq 0 ]
then
echo -e "Options:\n-c, --clean \tClean project\n-b, --build\tBuild project\n-d, --doc\t Create documentation\n-u, --upload\tUpload project to Edison device\n-e, --edison string\tEdison device ip (need to copy output)"
fi
while [ $# -gt 0 ]
do
key="$1"
case $key in
--help)
echo -e "Options:\n-c, --clean \tClean project\n-b, --build\tBuild project\n-d, --doc\t Create documentation\n-u, --upload\tUpload project to Edison device\n-e, --edison string\tEdison device ip (need to copy output)"
exit
;;
-c|--clean)
CLEAN=true
;;
-b|--build)
BUILD=true
;;
-t|--test)
TEST=true
;;
-d|--doc)
CREATE_DOC=true
;;
-u|--upload)
UPLOAD=true
;;
-e|--edison)
EDISON_DEVICE="$2"
shift # past argument or value
;;
*)
echo "Unrecognized option $key" # unknown option
;;
esac
shift # past argument or value
done
# VALIDATION
if $UPLOAD; then
if [ "$EDISON_DEVICE" = "" ]
then
echo 'Please use option --edison to compile project or fill default EDISON_DEVICE on script'
exit
fi
fi
# EXECUTION
if $CLEAN; then
docker run --rm -it -v $WORK_DIR:/tmp --workdir /tmp inteliotdevkit/intel-iot-yocto -c "make clean"
fi
if $BUILD; then
docker run --rm -it -v $WORK_DIR:/tmp --workdir /tmp inteliotdevkit/intel-iot-yocto -c "make"
fi
if $TEST; then
docker run --rm -it -v $WORK_DIR:/tmp --workdir /tmp inteliotdevkit/intel-iot-yocto -c "make test"
fi
if $CREATE_DOC; then
make docs
fi
if $UPLOAD; then
echo -e "${COLOR}Copy program-test-python to Edison device${NC}"
scp program-test/PythonConnectorEdison.py program-test/_PythonConnectorEdison.so program-test/python_script.py $EDISON_DEVICE
fi
我做的和你一樣,對我來說它是有效的。你的shell腳本的內容是什麼? –
我已添加腳本內容 – Bremen
一旦腳本顯示,可能重複的https://stackoverflow.com/questions/40536778/how-to-workaround-the-input-device-is-not-a-tty-when -using-grunt-shell-to-invo – rodrigo