ms1=$(tail -n 1 ~/../output.txt|tail -c 37) sleep 5 ms2=$(tail -n 1 ~/../output.txt|tail -c 37) 怎么判断两个是否相等
时间: 2023-06-20 16:07:01 浏览: 91
你可以使用 Bash 中的 if 语句来判断两个变量是否相等。具体代码如下:
```
if [ "$ms1" = "$ms2" ]; then
echo "两个变量相等"
else
echo "两个变量不相等"
fi
```
在 if 语句中,使用了 `[ "$ms1" = "$ms2" ]` 来比较两个变量的值是否相等。注意,等号两边都要加上双引号,这是为了防止两个变量的值中包含空格等特殊字符导致比较失败。
相关问题
tail -n 2 /etc/passwd /etc/shadow > output.txt 2> error.txt tail -n 2 /etc/passwd /etc/shadow > output.txt 2>&1
error.txt 这个命令的作用是什么?
回答:这个命令的作用是将 /etc/passwd 和 /etc/shadow 文件中的最后两行合并起来,并分别输出到 output.txt 和 error.txt 文件中。其中,标准输出重定向到 output.txt 文件中,标准错误输出重定向到 error.txt 文件中。
head -n 15 first | tail -n 3 > ~/exp2/Mydir/first1315 -bash: /home/c55230221/exp2/Mydir/first1315: 是一个目录
`head -n 15 first | tail -n 3 > ~/exp2/Mydir/first1513` 这个命令试图从文件 `first` 中选取前15行,然后取这15行中的最后3行,并将结果重定向(>)到指定路径 `/home/c55230221/exp2/Mydir/first1315`。然而,这里可能会出现问题,因为`first1315` 被写入的位置是一个目录而非文件。如果`~/exp2/Mydir/first1315` 是一个已经存在的目录,`>` 操作会失败,因为它期望的是一个可以写入文本的文件,而不是一个目录。
正确的操作应该是将输出重定向到一个名为 `first1315.txt` 或其他合适的文件名,而不是直接指向一个目录。修正后的命令可能是这样:
```bash
head -n 15 first | tail -n 3 > ~/exp2/Mydir/first1315.txt
```
如果 `first1315.txt` 已经存在,你可以选择追加(`>>`)而不是覆盖(`>`),如:
```bash
head -n 15 first | tail -n 3 >> ~/exp2/Mydir/first1315.txt
```
阅读全文