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

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

2
Як використовувати ln -s для створення ярлика командного рядка?
У мене є файл sh, який я хотів би мати можливість відкрити з терміналу в будь-який час. Я хотів би набрати "студію" в термінал і відкрити андроїд-студію Я пригадую, що використовував ln -sце, але я забув і вже витратив багато часу на пошук в Інтернеті. Також у якому каталозі зберігається …

3
Зателефонуйте до іншого сценарію, але не виходьте з батьків, якщо дитина викликає вихід
first.sh: #! /bin/ksh echo "prova" . ./second.sh echo "ho lanciato il secondo" . ./third.sh echo "ho lanciato il terzo" second.sh: echo "sono nel secondo script" dosomething1 exit $? Якщо second.shвиявляється помилка і виходить зі статусом -9, first.shвиходить завжди. Як я можу уникнути виходу з першої оболонки, якщо дочірня оболонка виходить? …

3
Порівняйте голови двох файлів у bash
Я можу зробити, diff filea filebщоб побачити різницю між файлами. Я також можу зробити, head -1 fileaщоб побачити перший рядок файли або fileb. Як я можу комбінувати ці команди, щоб показати різницю між першим рядком файли та першим рядком fileb?
11 bash  shell  diff  head 

2
Як зробити змінну з підшару, доступної в батьківській оболонці
Я написав швидкий і брудний сценарій, щоб підписати звіти з веб-служби: BASE_URL='http://example.com/json/webservice/' FIRST=1 FINAL=10000 for report_code in $(seq 1 $FINAL); do (time -p response=$(curl --write-out %{http_code} --silent -O ${BASE_URL}/${report_code}) ) 2> ${report_code}.time echo $response # <------- this is out of scope! How do I fix that? if [[ $response = …

4
Як я можу зробити псевдоніми оболонки доступними при обстрілі з Vim?
У своєму .zshrcя оголошую деякі псевдоніми. Наприклад, which dbstartпоказує вміст цього псевдоніма. Якщо я відкрию vim з цієї оболонки, це дочірній процес. У Vim я можу запускати команди оболонки за допомогою :! some_command. Якщо я :! echo $0бачу, яку оболонку Vim використовує, вона виводить '/ bin / zsh'. Однак мої …

1
Відфільтруйте вміст буфера обміну, не використовуючи проміжний файл
Я намагаюся змінити текст, який знаходиться в моєму буфері обміну, видалити певні рядки, що містять деякі рядки, а потім отримати висновок для подальшої маніпуляції (я вважаю за краще копіювати мій буфер обміну, лише якщо мені це потрібно). Я думав щось подібне: cat > swapfile ##Paste all grep -v string swapfile …

3
Отримайте PID будь-якої команди у фоновій послідовності команд
Якщо в bash, я виконую: cmd1 | cmd2 | ... | cmdi | ... | cmdn & де cmd{1..n}може не відрізнятись, як отримати ПІД cmdi? Як варіант я можу сигналізувати про cmdiпроцес? (Наприклад, відправити його SIGUSR1?) pkill/ pgrep, І pidofтак далі не схожі на хороші відповіді, так як інших випадках …
10 bash  shell  pipe  job-control 


1
Чи є якась перевага у визначенні "./" в циклі for для використання глобула?
У мене було враження, що його можна безпечніше використовувати ./*.fastqпід час пошуку файлів, які закінчуються .fastq. Наприклад, ./перешкоджатиме захопленню файлу .fastq. Це, очевидно, неправильно, як показано в прикладі нижче: TMP_DIR=$(mktemp --directory) mkdir -p ${TMP_DIR} (cd ${TMP_DIR} touch {a,b,c,}.fastq ls -a echo "" echo "# match all:" for f in *.fastq …
10 bash  shell  wildcards 


2
Дивна поведінка tr з використанням діапазонів
У мене є один конкретний сервер, який проявляє дивну поведінку при використанні tr. Ось приклад з працюючого сервера: -bash-3.2$ echo "abcdefghijklmnopqrstuvwxyz1234567890"|tr -d [a-z] 1234567890 -bash-3.2$ Це має для мене ідеальний сенс. Однак, це з "спеціального" сервера: [root@host~]# echo "abcdefghijklmnopqrstuvwxyz1234567890"|tr -d [a-z] abcdefghijklmnpqrstuvwxyz1234567890 Як бачите, видалення всіх малих символів не вдається. …


5
Чутливість корпусу в глобусі квадратної дужки
Зазвичай, глобус-башшон чутливий до регістру: $ echo c* casefix.pike cdless chalices.py charconv.py chocolate.pike circum.py clip.pike cpustats.pike crop.pike cwk2txt.py $ echo C* CarePackage.md ChocRippleCake.md Clips Використання квадратних дужок, схоже, це не змінить: $ echo [c]* casefix.pike cdless chalices.py charconv.py chocolate.pike circum.py clip.pike cpustats.pike crop.pike cwk2txt.py $ echo [C]* CarePackage.md ChocRippleCake.md Clips …
10 bash  shell  wildcards  locale 

3
Перемінна оболонка проти змінної середовища, яка з них є кращою, якщо обидва мають однакове ім’я?
Введіть у Bash таке: env | grep USER і set | grep USER дає обом раз однакове ім’я користувача. Як я можу знати, наприклад, коли набираєте, echo $USERчи відображалася оболонка чи змінна середовища?

2
Призначення - це як команди зі статусом виходу, за винятком випадків, коли є заміна команд?
Дивіться наступні приклади та їх результати в оболонках POSIX: false;echo $?або false || echo 1:1 false;foo="bar";echo $?або foo="bar" && echo 0:0 foo=$(false);echo $?або foo=$(false) || echo 1:1 foo=$(true);echo $?або foo=$(true) && echo 0:0 Як згадується у відповіді з найбільшою оцінкою на /programming/6834487/what-is-the-variable-in-shell-scripting : $? використовується для пошуку значення повернення останньої …

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