我有.sh
个文件:
test -e "$APP_SERVER_HOME"
if [ $? != 0 ]; then
echo "Application server home $APP_SERVER_HOME does not exist"
exit 6
fi
如何在测试命令之前从APP_SERVER_HOME
变量中删除所有空格和表格?
答案 0 :(得分:3)
APP_SERVER_HOME=`echo "$APP_SERVER_HOME" |sed 's/\s//g'`
这是你想要的吗?
注意:如果它包含“C:\ Program Files \ Foo \ bar.exe”,它现在将包含“C:\ ProgramFiles \ Foo \ bar.exe”,这可能不是你想要的。
APP_SERVER_HOME=`echo "$APP_SERVER_HOME" |sed 's/^\s\+//' |sed 's/\s\+$//'`
这个只会修剪前导空格和尾随空格,而不是内部空格。
答案 1 :(得分:2)
您也可以使用shell参数扩展方法(described here)执行此操作:
shopt -s extglob
${APP_SERVER_HOME##+([[:blank:]])}