我希望将输出保存到文件中,同时,我也希望看到屏幕上的进度。
基本上,tee只为一行工作。有什么解决办法吗?
[user@linux ~]$ cat -n test.sh
1 echo line 1 | tee out.txt
2 echo line 2 | tee out.txt
3 echo line 3 | tee out.txt
4 ls -lh out*
[user@linux ~]$
[user@linux ~]$ ./test.sh
line 1
line 2
line 3
-rw-r--r-- 1 user user 7 M
我想写一个bash shell脚本,它将STDOUT重定向到文件"result.log",将STDERR+STDOUT重定向到文件"complete.log“。最后向终端显示STDOUT
Linux mint 19.1
#!/bin/bash
exec > >(tee -a result.log full.log)
exec 2>>full.log
echo "This is stdout"
echo "This is stderr" >&2
echo "This is stdout
我用这种方式为/var/www/html中的所有文件制作指纹。
find /var/www/html -type f |xargs md5sum | tee /opt/figerprint.db.ori
效果很好。
现在,我想将tee命令的所有stdout重定向到/dev/null。
find /var/www/html -type f |xargs md5sum | tee /opt/figerprint.db.ori 1>/dev/null
md5sum: /var/www/html/news/uploads/Red: No such file or director
我正在编写一个脚本,该脚本将分解usb驱动器,并使用加密的持久数据安装Kali linux。
#! /bin/bash
cd ~/Documents/Other/ISOs/Kali
echo "/dev/sdx x=?"
read x
echo "how many passes to wipe? 1 will be sufficient."
read n
echo "sd$x will be wiped $n times."
read -p "do you want to continue? [y/N] " -n 1 -r
ec
Linux可以根据条件判断在Linux中的某一行插入内容吗?
例如,我想将用户"test“添加到/etc/sudoers,让它可以切换到root:
1 #
2 # This file MUST be edited with the 'visudo' command as root.
3 #
4 # Please consider adding local content in /etc/sudoers.d/ instead of
5 # directly modifying this file.
6 #
7 # See the man pag
一位同事正在试验bash shell脚本中的文件截断:从二进制文件中提取前两个字节。
以下代码在BSD/OS X(输出中为“12”)上工作正常,但在Linux (输出为空)上不起作用:
echo 1234 >test
head -c2 test | tee test >/dev/null
将head | tee部件更改为在子subshell中运行
echo 1234 >test
(head -c2 test | tee test >/dev/null)
让它在Linux上也能工作。
为什么?
(具体地说,对截断问题的解决方案不感兴趣,而是解释为什么不同风格的操作系统上的
我试图使用命令行将脚本的内容保存到文件中,但我注意到,当tee命令检测到诸如$(/usr/bin/id -u)之类的linux命令时,它执行命令,而不是按原样保存行。如何避免命令的执行和我输入的文本的保存?
$tee -a test.sh << EOF
if [[ $(/usr/bin/id -u) -ne 0 ]]; then
echo You are not running as the root user.
exit 1;
fi;
EOF
if [[ 502 -ne 0 ]]; then
echo Yo