llgd.net
当前位置:首页 >> shEll 空格 >>

shEll 空格

加引号: mkdir "123 abc"rmdir "123 abc"

这几天发现构建脚本太过庞大,于是就想把重复的单项构建独立成一个脚本。结果马上面临一个问题:参数带有空格! 在网上折腾了一番,也没有解决。于是自己尝试了一番,终于找到真正解决办法。这个办法的优点是,可以同时传递多个带空格的参数。注...

echo会把多余的空格消去,要想显示全部用”“把值包括进来 如: a="a b c" echo $a 显示为 a b c echo "$a" 显示为a b c

我的可以输出空格啊, [root@xiao ~]# test=`printf "%4d\n" 1` [root@xiao ~]# echo "$test" 1 你可以把test=”`printf "%4d\n" 1`“ 也加上双引号试试。

echo ${str// /} echo $str | sed 's/ //g' echo $str | tr -d " "

上面是原文内容,下面是将多个空格、Tab替换成1个空格 sed -r 's/[ \t]+/ /g' test.sh

#/bin/bash OLDIFS=$IFS IFS=$'\n' myhome=`pwd` for str in `find . -type d ` do cd $myhome if [ `expr index "$str" "#"` -eq 0 ] then echo "process $str" cd "$str" fi done IFS=$OLDIFS

用双引号就可以了,这样就是一个整体 例如: test.sh "hello world" 脚本中取参数时也要用双引号: "$1"

空格前加反斜杠

先建脚本:clearspace.sh 给脚本添加执行权限 chmod +x clearspace.sh 编辑脚本内容: touch tmpFile # 建临时文件 sed 's/\ //g' $1 >temFile #sed s命令 将空格替换 重定向到临时文件 cat temFile >$1 #覆盖原文件 rm -f temFile #删除临时文...

网站首页 | 网站地图
All rights reserved Powered by www.llgd.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com