Команда ps
может показать вам время начала или прошедшее время:
$ ps -O start,lstart,etime
PID STARTED STARTED ELAPSED S TTY TIME COMMAND
7827 15:18:42 Tue Aug 1 15:18:42 2017 00:00 R pts/12 00:00:00 ps -O
10413 Jul 16 Sun Jul 16 17:36:12 2017 15-21:42:30 S pts/12 00:00:07 bash
Чтобы сделать это буквально, вам, вероятно, придется прибегнуть к eval:
function subst_all_filenames() {
subst="$1"
for filename in *
do
eval 'echo ${filename'"$subst"'}'
done
}
subst_all_filenames "^^"
subst_all_filenames ",,"
subst_all_filenames ""
В качестве альтернативы можно поддерживать только известный список замен:
function subst_all_filenames() {
case "$1" in
^^) for filename in *; do echo "${filename^^}"; done ;;
,,) for filename in *; do echo "${filename,,}"; done ;;
*) printf "%s\n" * ;;
esac
}
Иногда такая вспомогательная функция вообще не нужна. Вполне нормально иметь такие циклы повсюду в сценарии оболочки.