Es gibt ein Hauptproblem und möglicherweise ein geringfügiges Problem mit Ihrem Xterm-Anruf. Erstens - Sie möchten nicht, dass das Skript mit dem & im Hintergrund steht. Es ist sehr wahrscheinlich genau das, was Sie gefragt haben, und wird im Hintergrund ausgeführt (praktisch unsichtbar). Sie können es mit ps oder Jobs in der Shell sehen, die Sie gestartet haben von; ps -A von überall usw.).
Ich lese aus Ihrer Situation, dass Sie versuchen, eine neue Xterm-Instanz zu erzeugen, und dieses Skript darin ausführen soll. und es tut das nicht im Hintergrund (zumindest sichtbar).
Zweitens sollten Sie den vollständigen Pfad zu my_script.sh angeben, den vollständigen Pfad verwenden und das Argument vollständig in Anführungszeichen setzen, z. B. "/home/you/my_script.sh".
Das verursacht Ihnen hier vielleicht kein Problem; Ich bin nicht positiv. Wenn Sie in der Zukunft ähnliche Skripts schreiben, werden Sie zu einem bestimmten Zeitpunkt zu einem Problem, da Sie ohne Anführungszeichen Opfer einer unbeabsichtigten Bash-Erweiterung werden könnten.
Letzter Hinweis - Wenn Sie ein Bash-Skript von einer Bash-Shell aus aufrufen, ist das #! / Bin / bash eigentlich völlig unnötig. Es ist eine gute Angewohnheit und macht es tragbarer - jemand anderes springt darauf und sagt '#! / Usr / bin / env bash is MORE portable', und ja, das ist es. Sie brauchen aber auch nicht, damit es funktioniert, vorausgesetzt, Sie rufen das Skript von bash auf (aber Sie sollten es sowieso immer haben).