#!/bin/bash newdir=/absolute/path/output olddir=/absolute/path/project find $olddir -name '*log' | while read line ; do if [ "$olddir" == "$( basename "$line" )" ] ; then #just move the file if there are no subdirectories mv "$line" "$newdir" else #1) replace old project dir with nothing #2) replace all slashes with hashes #3) set new outdir as prefix #4) hope that there are no colons in the filenames prefix="$( sed -e "s:$olddir::" -e 's:/:#:g' -e "s:^:$newdir/:" <<<"$( dirname "$line")" )" mv "$line" "$prefix"#"$( basename "$line" )" fi done
-121--166427-
Натти Нарвал больше не поддерживается Ubuntu. Поэтому нельзя использовать
apt-get
для установки ncurses.У вас есть следующие варианты:
Я бы рекомендовал попробовать обновить до последней версии Ubuntu. Вы также получите преимущества от обновлений безопасности.
-121--209652-
/bin/true
и /bin/false
не обязательно выполнять какие-либо системные вызовы, кроме требуемого выхода (2)
. (GNU true и false являются динамически связанными исполняемыми файлами ELF, поэтому, конечно, вы получаете обычный запуск котельной плиты).
Если вы пишете программу в asm, которая пытается вернуться из _ start
, или которая просто продолжает выполняться, она будет сегментирована, когда выполнение перескакивает на несопоставленную страницу. Таким образом, вы технически можете избежать вызова exit ()
, но это не стоит того.: P
Вы, возможно, читали, что простейшая реализация true (1)
является пустым файлом. Это работает, только если вызывается из оболочки.
touch true
chmod 755 true
./true
echo $?
0
strace ./true
write(2, "strace: exec: Exec format error\n", 32) = 32
exit_group(1)
Если вы хотите сделать свою собственную минимальную реализацию true
, то на amd64 вы можете сделать:
cat > exit64.s <
В отличие от GNU true
, эта реализация не поддерживает --help
и -version
! (например, команда true --version
для пропуска shell-builtin.)
См. также Руководство по Whirlwind по созданию действительно Teensy ELF Executables для Linux , если вы думали, что это аккуратно.