Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/ssh/2.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/email/3.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
bash脚本将输出从set-x复制到文件,从脚本内部调用,而不是使用tee_Bash_Ssh - Fatal编程技术网

bash脚本将输出从set-x复制到文件,从脚本内部调用,而不是使用tee

bash脚本将输出从set-x复制到文件,从脚本内部调用,而不是使用tee,bash,ssh,Bash,Ssh,我想知道是否有一种方法可以从脚本中将set-x输出写入文件,而不是从命令提示符调用tee 例如,我通常在命令提示符下使用myScript.sh2>&1 | tee mylog.log。这会将set-x复制到日志文件中 有没有一种方法可以在myScript.sh中将其内部化,以便在不需要调试时将其设置为关闭的标志。仅从命令提示符下运行myScript.sh thx 艺术在脚本中,将这一行放在顶部: #!/bin/bash [[ $1 == "debug" ]] && { exec

我想知道是否有一种方法可以从脚本中将
set-x
输出写入文件,而不是从命令提示符调用
tee

例如,我通常在命令提示符下使用
myScript.sh2>&1 | tee mylog.log
。这会将set-x复制到日志文件中

有没有一种方法可以在
myScript.sh
中将其内部化,以便在不需要调试时将其设置为关闭的标志。仅从命令提示符下运行
myScript.sh

thx
艺术

在脚本中,将这一行放在顶部:

#!/bin/bash

[[ $1 == "debug" ]] && { exec 2>err.txt; set -x; }

# rest of the script
现在,当您将脚本称为:

./myScript.sh debug
您将获得一个创建为
err.txt
的文件,其中包含
set-x
的输出(如果有其他错误)