= Bash Open Questions = If you want to help with the BashFAQ, you could try to answer one of the following questions. Just answer it, copy it to a new subpage of the BashFAQ page (e.g. [[BashFAQ/101]]), and remove the question here. * How can I redirect the output of the script to both standard output and a log file? * Duplicating fds is not sufficient, because it duplicates the file descriptor number, not the data. * But you can still use {{{tee}}}: {{{exec > >(tee log)}}} * Somewhere the content of variables in my script lose whitespace. * echo "$var" - quoting. See BashPitfalls for more. * How can I make bash set the xterm title to the command it is currently executing? * This can't be done in any straightforward manner because there's no hook in Bash to execute arbitrary code after a user presses Enter but before a command is executed. The DEBUG trap is triggered after each command, and the PS1 variable is triggered when a prompt is displayed, which is also after the command, rather than before. * In bash 4, the DEBUG trap is triggered ''before'' every command, according to `help trap`. This is a change from bash 3. So this should be possible in bash 4. Someone just needs to write it up.... * How to determine Yesterday's date? * date -d'yesterday' # GNU date (sufficiently new versions) * date -d '1 day ago' # GNU date (all versions I have available to test) * date -r $(( $(date +%s) - 86400 )) # OpenBSD date * How can I redirect file names using sequential numbers to avoid overwriting existing ones? * mv --backup=numbered # requires GNU mv * How can I set the output of a command to a variable without executing a subshell (i.e. $() ) or writing to a file and reading it back? * I think this does the job, have not had time to test: http://tldp.org/LDP/abs/html/process-sub.html (see also ProcessSubstitution on this site) * Commands in a process substitution ( >(cmd) or <(cmd) ) are definitely run in a subshell (or rather a full-blown background process). I'm not sure I understand what this question is really asking. Maybe it's related to [[BashFAQ/084|FAQ 84]]. * Creating temporary files securely and ''portably'' ([[BashFAQ/062]] has a partial answer) * Which shebang — {{{#!/bin/bash}}} or {{{#!/usr/bin/env bash}}} — should be used or in which circumstance? Is one preferred over the other?