Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在一行中从命令构造bash dir字符串_Bash_Shell_Unix_Command - Fatal编程技术网

在一行中从命令构造bash dir字符串

在一行中从命令构造bash dir字符串,bash,shell,unix,command,Bash,Shell,Unix,Command,给予 dir=$(pwd; echo '/hi/'; date "+%Y_%m_%d-%H_%M_%S") echo $dir 为什么会有空间? 如何使此路径在一条直线上且没有空格 谢谢您可以使用sed /some/path/hear /hi/ 2014_11_30-12_40_17 $dir=$(pwd;echo'/hi/';日期“+%Y_%m_%d-%H_%m_%S”) $dir=$(sed's///g'您可以使用sed /some/path/hear /hi/ 2014_11_30-

给予

dir=$(pwd; echo '/hi/'; date "+%Y_%m_%d-%H_%M_%S")

echo $dir
为什么会有空间? 如何使此路径在一条直线上且没有空格

谢谢

您可以使用sed

/some/path/hear /hi/ 2014_11_30-12_40_17
$dir=$(pwd;echo'/hi/';日期“+%Y_%m_%d-%H_%m_%S”)
$dir=$(sed's///g'您可以使用sed

/some/path/hear /hi/ 2014_11_30-12_40_17
$dir=$(pwd;echo'/hi/';日期“+%Y_%m_%d-%H_%m_%S”)
$dir=$(sed's///g'最简单的方法,我认为:

$ dir=$(pwd; echo '/hi/'; date "+%Y_%m_%d-%H_%M_%S")
$ dir=$(sed 's/ //g' <<< $dir)
$ echo $dir
/home/path/hi/2014_11_30-18_21_09
在这种情况下,
$()
表达式就像普通变量一样工作。

最简单的方法,我认为:

$ dir=$(pwd; echo '/hi/'; date "+%Y_%m_%d-%H_%M_%S")
$ dir=$(sed 's/ //g' <<< $dir)
$ echo $dir
/home/path/hi/2014_11_30-18_21_09

$()
表达式的工作原理与此上下文中的普通变量一样。

使用
printf

dir="$(pwd)/hi/$(date '+%Y_%m_%d-%H_%M_%S')"

使用
printf

dir="$(pwd)/hi/$(date '+%Y_%m_%d-%H_%M_%S')"

这仍然有效:

$ printf '%s/hi/%s\n' "$(pwd)" "$(date "+%Y_%m_%d-%H_%M_%S")"
/home/path/hi/2014_11_30-07_53_05

有趣的是,有这么多的方法可以做到这一点

这仍然有效:

$ printf '%s/hi/%s\n' "$(pwd)" "$(date "+%Y_%m_%d-%H_%M_%S")"
/home/path/hi/2014_11_30-07_53_05
有趣的是,有很多方法可以做到这一点