Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/18.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
Linux 如何仅打印字符串;“价值”;在bash脚本中使用!!命令_Linux_Bash - Fatal编程技术网

Linux 如何仅打印字符串;“价值”;在bash脚本中使用!!命令

Linux 如何仅打印字符串;“价值”;在bash脚本中使用!!命令,linux,bash,Linux,Bash,这是一个bash脚本编写练习,我似乎无法理解。我正在尝试打印标准输出“值”,并且只将其作为输出。问题是你必须使用!!命令,它执行上一个命令。例如: echo "value" !! echo "value" value 是我运行这两个命令时的输出。问题是它还打印命令的字符串文字。如何才能将“值”打印到stdout?我想我知道您想做什么,您想执行以下命令: $ echo "value" 然后使用历史扩展(对于最后一个命令!!),一个单词指示符(对于最后一个单词$),然后使用修饰符(p打印但不执行

这是一个bash脚本编写练习,我似乎无法理解。我正在尝试打印标准输出“值”,并且只将其作为输出。问题是你必须使用!!命令,它执行上一个命令。例如:

echo "value"
!!
echo "value"
value

是我运行这两个命令时的输出。问题是它还打印命令的字符串文字。如何才能将“值”打印到stdout?

我想我知道您想做什么,您想执行以下命令:

$ echo "value"
然后使用历史扩展(对于最后一个命令
!!
),一个单词指示符(对于最后一个单词
$
),然后使用修饰符(
p
打印但不执行该命令)

如果需要删除引号,可以使用替换和全局修饰符:

$ !!$:p:gs/"//
value

如果这不是您想要的,请告诉我,我很高兴与您进一步合作。

您是指仅执行最后一个命令的参数(或最后一个命令的结果)?正如@Inian所指出的,您的值可能是一个变量吗?例如,
echo“$SHELL”
?当然,您可以省略第一个命令的引号(它仍然可以正常工作)然后你就不需要替换表达式修饰符了。尽管如此-我没有意识到这个功能,而且它非常酷,所以我很高兴你使用了它,并允许我学习:-)
$ !!$:p:gs/"//
value