Как выйти из экрана аутентификации и завершить работу? [закрыто]

на основе комментариев Эрика Ренуфа к предыдущей итерации этого ответа о том, как nohup и bash сговариваются, чтобы помешать экранированию пробелов.

user="Tim Toms"
jarfile=./app.jar
SC_CD="java -jar -Xms512m -Xmx2048m -DUSER='$user' $jarfile"
echo $SC_CD  > temp.sh
nohup bash temp.sh

Если бы целью было позволить этой java работать в фон, я мог бы только что сделать что-то вроде

echo java -jar -Xms512m -Xmx2048m -DUSER = \ '$ user \' $ jarfile | сейчас

и забыл о nohup (ну и что, если, возможно, нужно очистить какое-то ненужное электронное письмо)

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

Хотя кажется, что ваши утверждения действительно вызывают nohup с «Тимом Томом» в одинарных кавычках, возможно, nohup выполняет свою system () вызов с простой строкой вместо вызова exec , и при этом строка теряет кавычки.

Я только что протестировал, поместив echo перед nohup

Я не могу это проверить, но я предлагаю попробовать превратить вашу первую строку в

user = '"Tim Tom"'

, поскольку одинарные кавычки должны предотвращать раскрытие и должны передавать двойные кавычки на nohup

Я основываю это на создании тестового сценария вроде

ser="Tim Tom";
jarfile=./app.jar
SC_CD="java -jar -Xms512m -Xmx2048m -DUSER='$user' $jarfile"
echo nohup $SC_CD

, тогда когда I sh -x test.sh Я получаю

+ user='Tim Tom'
+ jarfile=./app.jar
+ SC_CD='java -jar -Xms512m -Xmx2048m -DUSER='\''Tim Tom'\'' ./app.jar'
+ echo nohup java -jar -Xms512m -Xmx2048m '-DUSER='\''Tim' 'Tom'\''' ./app.jar
nohup java -jar -Xms512m -Xmx2048m -DUSER='Tim Tom' ./app.jar

Но внесение предлагаемого изменения дает

+ user='"Tim Tom"'
+ jarfile=./app.jar
+ SC_CD='java -jar -Xms512m -Xmx2048m -DUSER='\''"Tim Tom"'\'' ./app.jar'
+ echo nohup java -jar -Xms512m -Xmx2048m '-DUSER='\''"Tim' 'Tom"'\''' ./app.jar
nohup java -jar -Xms512m -Xmx2048m -DUSER='"Tim Tom"' ./app.jar

Обратите внимание, что в обоих случаях echo показывает, что nohup должен получать как минимум первый уровень кавычек в своих аргументах .Вот почему я предлагаю добавить дополнительный уровень

-1
16.05.2015, 01:30
0 ответов

Теги

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