разница между libc6-dev и libc6

Тривиально можно решить, каким должен быть $0. Просто создайте ссылку:

$ cat foo.sh
#! /bin/bash
readonly SCRIPT_HELP="$(cat <<EOF
Usage: $(basename "$0") [-h]
EOF
)"

echo "${SCRIPT_HELP}"
$ ./foo.sh
Usage: foo.sh [-h]
EOF
$ ln -s foo.sh bar.sh
$ ./bar.sh
Usage: bar.sh [-h]
EOF

В данном конкретном случае нет, я не думаю, что это можно будет использовать с какой-либо большой пользой. "$0"и SCRIPT_HELPзаключаются в кавычки при использовании (внутри подстановок вложенных команд и здесьдокументов, но, тем не менее, в кавычки), и они не оцениваютсяed.

$ ln -s ./foo.sh '"; echo rm -rf ~; echo"'
$ ./\"\;\ echo\ rm\ -rf\ \~\;\ echo\"
Usage: "; echo rm -rf ~; echo" [-h]
EOF
1
20.07.2017, 13:59
0 ответов

Теги

Похожие вопросы