Linux echo,然后运行命令
我希望此命令在一行中运行Linux echo,然后运行命令,linux,bash,Linux,Bash,我希望此命令在一行中运行 echo The current version MD5: md5sum xxx.jar echo The new version MD5: md5sum zzz.jar 我希望结果是: >当前版本的MD5:2791f2d6e9ac9e6a6a08919f031b2633 >新版本的MD5:2791f2d6e9ac9e6a6a08919f03000000 问题是如何运行它们,以便它们在一行中打印出来。您可以使用命令替换: echo The current versio
echo The current version MD5: md5sum xxx.jar
echo The new version MD5: md5sum zzz.jar
我希望结果是:
>当前版本的MD5:2791f2d6e9ac9e6a6a08919f031b2633
>新版本的MD5:2791f2d6e9ac9e6a6a08919f03000000
问题是如何运行它们,以便它们在一行中打印出来。您可以使用命令替换:
echo The current version MD5: md5sum xxx.jar
echo The new version MD5: md5sum zzz.jar
echo "The .... MD5: $(md5sum xxx.jar)"
或
编辑 如果xxx.jar文件不存在,则输出如下:
md5sum: xxx.jar: No such file or directory
The current version MD5:
但您可以使用bash函数打印md5或错误
#!/bin/bash
print_md5() {
local MSG=$1
local FILE=$2
local MD5
MD5=($(md5sum $FILE 2>&1))
# MD5 is an array, [0] contains the md5, [1] contains "file"
if [ $? -ne 0 ]; then
echo "MD5 error '$FILE'"
else
echo "$MSG: ${MD5[0]}"
fi
}
print_md5 "The current version MD5" xxx.jar
print_md5 "The new version MD5" zzz.jar
示例:(如果zzz.jar不存在)
您可以使用命令替换:
echo "The .... MD5: $(md5sum xxx.jar)"
或
编辑 如果xxx.jar文件不存在,则输出如下:
md5sum: xxx.jar: No such file or directory
The current version MD5:
但您可以使用bash函数打印md5或错误
#!/bin/bash
print_md5() {
local MSG=$1
local FILE=$2
local MD5
MD5=($(md5sum $FILE 2>&1))
# MD5 is an array, [0] contains the md5, [1] contains "file"
if [ $? -ne 0 ]; then
echo "MD5 error '$FILE'"
else
echo "$MSG: ${MD5[0]}"
fi
}
print_md5 "The current version MD5" xxx.jar
print_md5 "The new version MD5" zzz.jar
示例:(如果zzz.jar不存在)
您需要从md5sum的输出中解析出MD5,因此:
echo "The current version MD5:`md5sum xxx.jar | awk '{ print $1}'`"
如果你不喜欢许多有趣的引语,也可以使用括号:
echo "The current version MD5:$(md5sum xxx.jar | awk '{ print $1}')"
您需要从md5sum的输出中解析出MD5,因此:
echo "The current version MD5:`md5sum xxx.jar | awk '{ print $1}'`"
如果你不喜欢许多有趣的引语,也可以使用括号:
echo "The current version MD5:$(md5sum xxx.jar | awk '{ print $1}')"