Пробую alias mytest='/usr/bin/python3.6'.
И он может работать, когда я набираю mytest в терминале, я могу использовать python3.6 вручную.
Однако, когда я пытался запустить скрипт, возникали некоторые ошибки импорта.
Мой сценарий такой: mytest test.py $1 $2
Запустите bash test.sh / home / data1 / home / data2
Команда как это изображение
Кстати, не имеет прямого отношения к вашей проблеме, но mytest test.py $1 $2 обычно содержит ошибки - если ваши значения $1 и $2 содержат пробелы, их можно разбить на несколько аргументов; если они не содержат символов, отсутствующих в IFS, их можно просто игнорировать; и т.д. Намного лучше использовать "$1" "$2", если вы действительно хотите передать именно эти две строки, или "$@", если вы хотите передать весь список аргументов.
Однако большая проблема - псевдонимы по умолчанию вообще не поддерживаются в скриптах. Это интерактивное средство - совместимые с POSIX оболочки без расширений для интерактивного использования даже не обязаны их поддерживать.
Если вы использовали экспортированную функцию - mytest() { /usr/bin/python3.6 "$@"; }; export -f mytest - что будет поддерживаться в скриптах с bash shebang (/bin/sh не гарантирует соблюдение экспортированных функций, поскольку они являются расширением bash), хотя лучше использовать реальный скрипт под названием mytest в местоположении в PATH.
Я добавил свою ситуацию с моим сервером. Большое спасибо
По возможности размещайте контент в виде текста, а не графических снимков экрана. См. meta.stackoverflow.com/a/285557/14122
@Achaca, также, запуск sh yourscript означает, что он работает с sh, а не с bash, даже если shebang в верхней части скрипта - это #!/bin/bash. Как я сказал выше, вам нужно использовать bash для выполнения экспортируемых функций (и, ну, вам нужно фактически определить экспортируемую функцию, а не псевдоним).
хорошо понял, большое спасибо





Можете ли вы опубликовать фактическую строку псевдонима, с которой у вас возникла проблема?