mirror of
https://github.com/pytorch/pytorch.git
synced 2025-10-20 21:14:14 +08:00
Pull Request resolved: https://github.com/pytorch/pytorch/pull/156082 Approved by: https://github.com/soulitzer ghstack dependencies: #156079
59 lines
1.5 KiB
Bash
Executable File
59 lines
1.5 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
# This script is helpful in entering an interactive shell from a bazel build
|
|
# before running a given bazel executable.
|
|
# This can provide a quick way to explore the sandbox directory and filesystem.
|
|
# Typical use is with
|
|
#
|
|
# bazel run --run_under=//tools/bazel:shell_wrapper //:target
|
|
# OR
|
|
# bazel run --config=shell //:target
|
|
|
|
shell='/bin/bash'
|
|
rcfile='/tmp/pytorch_bazel_tools_shellwrap'
|
|
while [[ $# -gt 0 ]] ; do
|
|
case "$1" in
|
|
--shell_bin_path)
|
|
# path for the shell executable
|
|
shell="$2"
|
|
shift 2
|
|
;;
|
|
--rcfile)
|
|
# path for the file used to write the environment
|
|
rcfile="$2"
|
|
shift 2
|
|
;;
|
|
*)
|
|
# remaining arguments are part of the command for execution
|
|
break
|
|
;;
|
|
esac
|
|
done
|
|
|
|
if ! tty -s; then
|
|
echo 'A tty is not available.'
|
|
echo "Use \`bazel run\`, not \`bazel test\`."
|
|
exit 1
|
|
fi
|
|
|
|
NOCOLOR='\033[0m'
|
|
YELLOW='\033[1;33m'
|
|
|
|
# store the environment in a file
|
|
export PYTORCH_SHELL_COMMAND=$*
|
|
echo "alias run=\"$*\"" > "$rcfile"
|
|
echo "PS1='\s-\v\$ '" >> "$rcfile"
|
|
|
|
echo =====
|
|
# print the execution command (command is yellow)
|
|
echo -e "alias run=${YELLOW}$PYTORCH_SHELL_COMMAND${NOCOLOR}"
|
|
echo =====
|
|
|
|
echo "Entering interactive shell at the execution root:"
|
|
|
|
# quote escape all the arguments to use as a single input string
|
|
cmd="'$shell' --noprofile --rcfile '$rcfile'"
|
|
|
|
# run the command in a script pseudo terminal and dump to null
|
|
/usr/bin/script -c "$cmd" -q /dev/null
|