无法回显上次在 .sh 脚本中执行
Unable to echo last executed within .sh script
使用以下
cmd=$(uname -a)
printf "["!:0"]"
给我
[cmd1=Linux localhost.localdomain 2.6.32-300.10.1.el5uek #1 SMP Wed Feb 22 17:37:40 EST 2012 x86_64 x86_64 x86_64 GNU/Linux]
但什么时候在 test.sh
完成
#!/bin/bash
output=$(uname -a)
printf "["!:0"]"
我得到
[!:0]
谢谢。
如果您需要在 bash (v4+
) 脚本中执行之前的命令,
#!/bin/bash -i
# -i: interactive mode, enable history inside script
set -o history # enable history, for old bash versions
cmd=$(uname -a)
history | sed -n 'x;${s/ *[0-9]\+ *\(\S*\)//p}' # print the line before last history entry after removing index
使用以下
cmd=$(uname -a)
printf "["!:0"]"
给我
[cmd1=Linux localhost.localdomain 2.6.32-300.10.1.el5uek #1 SMP Wed Feb 22 17:37:40 EST 2012 x86_64 x86_64 x86_64 GNU/Linux]
但什么时候在 test.sh
#!/bin/bash
output=$(uname -a)
printf "["!:0"]"
我得到
[!:0]
谢谢。
如果您需要在 bash (v4+
) 脚本中执行之前的命令,
#!/bin/bash -i
# -i: interactive mode, enable history inside script
set -o history # enable history, for old bash versions
cmd=$(uname -a)
history | sed -n 'x;${s/ *[0-9]\+ *\(\S*\)//p}' # print the line before last history entry after removing index