Запитання з тегом «shell»

Оболонка - це інтерфейс командного рядка Unix. Ви можете вводити команди в оболонці інтерактивно або писати сценарії для автоматизації завдань. Використовуйте цей тег для питань, що стосуються / bin / sh та найбільш сумісних оболонок (ash, bash, ksh, zsh,…). Для скриптів оболонок з помилками перевірте їх на http://shellcheck.net перед публікацією тут.

5
Створення численних каталогів за допомогою mkdir
Я хотів би створити багато каталогів, використовуючи mkdir. Кожне ім'я каталогу буде складатися з префікса (рядок) та індексу (ціле число). Припустимо, я хотів би, щоб префікс був "s", а індекси були від 1 до 50. Це означає, що я хотів би створити каталоги під назвою: s1,, s2... s49,,s50 Чи є …
14 shell  directory 

3
оболонка: зберігайте сліди нових рядків ('\ n') при заміні команд
Я хочу мати можливість фіксувати точний результат заміни команди, включаючи нові символи рядка . Я розумію, що вони позбавлені за замовчуванням, тому для їх збереження може знадобитися певна маніпуляція, і я хочу зберегти вихідний код виходу . Наприклад, задана команда зі змінною кількістю кінцевих нових рядків та коду виходу: f(){ …
14 bash  shell 

3
Чи пастка успадковується підзаголовком?
Я спробував такий сценарій: #!/bin/bash trap 'echo "touching a file" && touch $FILE' EXIT foo1(){ echo "foo1" } foo(){ echo "foo" export FILE=${FILE:-/tmp/file1} } (foo1) foo Вихід для вищевказаного сценарію був: [root@usr1 my_tests]# ./test.sh foo1 foo touching a file Однак я очікував, що пастка буде викликана і при виході з …
14 shell  trap  subshell 

3
вирізати рядок на останньому роздільнику
У мене є ім’я файлу на зразок a.b.c.txt, я хочу, щоб цей рядок розділився як string1=a.b.c string2=txt В основному я хочу розділити ім'я файлу та його розширення. Я використовував, cutале він розпадається як a,b,cі txt. Я хочу перерізати рядок на останньому роздільнику. Може хтось допоможе?
14 shell  cut 


3
bash додає додаткові одиничні цитати
У мене проблема з виконанням сценарію. Виконуючи його в режимі налагодження (bash -x), я бачу, що bash додає додаткові лапки. Для цього мій сценарій не працює. Ось це в рамках мого сценарію: testvar="\"sudo /home/pi/shared/blink.sh 27 off\"" ssh -n -q -q -o BatchMode=yes -o UserKnownHostsFile=/dev/null -o StrictHostKeyChecking=no -o ConnectTimeout=5 $1 ${testvar} …
14 shell  ssh  quoting 



2
Порядок виконуваних файлів розпочався в баш
Якщо я виконую testкоманду в bash, test(оцінює умовне вираження), вбудована утиліта запускається: $ type test test is a shell builtin $ type -a test test is a shell builtin test is /usr/local/bin/test test is /usr/bin/test $ Однак, як видно з результатів type -a testвище, testу каталозі / usr / local …

3
echo або print / dev / stdin / dev / stdout / dev / stderr
Я хочу надрукувати значення / dev / stdin, / dev / stdout та / dev / stderr. Ось мій простий сценарій: #!/bin/bash echo your stdin is : $(</dev/stdin) echo your stdout is : $(</dev/stdout) echo your stderr is : $(</dev/stderr) я використовую наступні труби: [root@localhost home]# ls | ./myscript.sh [root@localhost …

4
Зберігати коди виходу при захопленні SIGINT та подібних?
Якщо я використовую, trapяк описано, наприклад, на http://linuxcommand.org/wss0160.php#trap, щоб увімкнути ctrl-c (або подібне) та очищення перед виходом, тоді я змінюю код повернення, який повертається. Тепер це, мабуть, не матиме значення в реальному світі (наприклад, через те, що коди виходу не є портативними, і, крім того, не завжди однозначним, як обговорювалося …

2
Яка структура даних $ @ у оболонці?
Зазвичай ми використовуємо $@для представлення всіх аргументів, крім $ 0. Однак я не знаю, що таке структура даних $@. Чому він поводиться інакше, $*коли, включаючи у подвійну цитату, хтось міг дати мені пояснення на рівні перекладача? Його можна повторити для циклу, тому він, здається, є масивом. Однак це також може …
13 bash  shell 

3
Чому "ps ax" не знайде запущений скрипт bash без "#!" заголовок?
Коли я запускаю цей сценарій, призначений для запуску, поки не вб'є ... # foo.sh while true; do sleep 1; done ... я не в змозі знайти його за допомогою ps ax: >./foo.sh // In a separate shell: >ps ax | grep foo.sh 21110 pts/3 S+ 0:00 grep --color=auto foo.sh ... …

2
Чому SSH-не чекає фонових процесів?
Чому це ssh -tне чекає закінчення фонових завдань? Приклад: ssh user@example 'sleep 2 &' Це працює як очікувалося, оскільки ssh повертається через 2 секунди, тоді як ssh user@example -t 'sleep 2 &' не чекає sleepзакінчення і повертається негайно. Хтось може пояснити причину цього? Чи можна ssh -tзачекати, поки всі фонові …

6
Визначення бінарних команд перед виконанням
Чи є методи перевірити, що ви насправді виконуєте з bash-скрипту? Припустимо, що ваш Баш скрипт телефонує кілька команд (наприклад: tar, mail, scp, mysqldump) , і ви готові , щоб переконатися , що tarфактична, реальна tar, яка може бути визначена з допомогою rootкористувача , що є власником файлу і батьківський каталог …

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.