我在文件中包含以下命令的文件.
#!/bin/csh -f
echo "test test" //echo test [dobule space] test
set a = "test test" //set a = test [dobule space] test
echo $a
Run Code Online (Sandbox Code Playgroud)
输出如下.
测试[dobule space]测试
测试[单一空间]测试
当我将值设置为a时,双空格如何被单个空格替换?
任何帮助表示赞赏.
当我将值设置为a时,双空格如何被单个空格替换?
不,它不会被单一空间取代.这是因为你没有使用引号echo.使用:
echo "$a"
Run Code Online (Sandbox Code Playgroud)
获得双倍间距的字符串.
如果不引用变量,Shell默认会将多个空格修剪为单个空格.即使这将是单一空间:
s='a b'
echo $s
a b
Run Code Online (Sandbox Code Playgroud)
但引用:
echo "$s"
a b
Run Code Online (Sandbox Code Playgroud)
编辑:基于以下评论,您可以在csh中执行此操作:
set QUERY = "select p.path from path p, file f where p.pathid=f.pathid and f.fileid=1234"
set dir = "`/usr/etc/venture/bin/mysql -BN -uroot -***** ****-e '$QUERY'`"
echo "$dir"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
101 次 |
| 最近记录: |