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

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


1
Коли потрібно подвійне цитування?
Стара порада використовувалась для подвійного цитування будь-яких виразів, що містять a $VARIABLE, принаймні, якби хотілося, щоб оболонка була інтерпретована як один-єдиний елемент, інакше будь-які пробіли у змісті $VARIABLEскинуть оболонку. Однак я розумію, що в останніх версіях оболонок подвійне цитування більше не завжди потрібно (принаймні для мети, описаної вище). Наприклад, у …

7
Як запустити команду, не натискаючи клавішу Enter?
Випадково я зіставляти Enterчерез xkbsetдо Pointer_button2. Тепер щоразу, коли я потрапляю на Enterякийсь химерний текст, з’являється. Я подумав про вирішення проблеми, пов’язаного з перезаносом його назад, але це означає, що мені доведеться запустити команду xmodmap -e "keycode 135 = Pointer_Button2"(або будь-який інший код, крім клавіші Enter). Але я не в …

30
Швидка навігація по каталогу в оболонці bash
Мені хотілося б часто перемикатися між каталогами, які знаходяться в абсолютно незв'язаних шляхах, наприклад, /Project/Warnest/docs/і ~/Dropbox/Projects/ds/test/. Але я не хочу cd /[full-path]/весь час вводити текст . Чи є команди ярликів для переходу на раніше працюючі каталоги? Я можу придумати одне рішення - додати змінні середовища до моїх bash .profileдля часто …


4
Що означає "амперсанд" в кінці рядка сценарію оболонки?
sh sys-snap.sh & Що таке sh? Що таке sys-snap.sh? Чому я повинен ставити &в кінці рядка? Хтось може пояснити синтаксис? Без &сценарію не повернуться до підказки, поки не натисніть Ctrl+ C. За допомогою &я можу натиснути клавішу Enter, і це працює.
118 shell 

7
Використання нерівного оператора для порівняння рядків
Я спробував перевірити, чи PHONE_TYPEзмінна містить одне з трьох дійсних значень. if [ "$PHONE_TYPE" != "NORTEL" ] || [ "$PHONE_TYPE" != "NEC" ] || [ "$PHONE_TYPE" != "CISCO" ] then echo "Phone type must be nortel,cisco or nec" exit fi Вищеописаний код не працював для мене, тому я спробував це: …

5
Чи можу я перенаправити вихід у файл журналу та одночасно підключити процес?
Чи можу я перенаправити вихід у файл журналу та одночасно підключити процес? Іншими словами, чи можу я зробити щось подібне? nohup java -jar myProgram.jar 2>&1 > output.log & Або це не юридична команда? Або мені потрібно вручну перемістити його на задній план, як-от так: java -jar myProgram.jar 2>$1 > output.log …
116 bash  shell  shell-script 

3
Чому "відлуння" настільки швидше, ніж "дотик"?
Я намагаюся оновити часову позначку до поточного часу для всіх файлів xml у моєму каталозі (рекурсивно). Я використовую Mac OSX 10.8.5. На приблизно 300 000 файлів наступна echoкоманда займає 10 секунд : for file in `find . -name "*.xml"`; do echo >> $file; done Однак наступна touchкоманда займає 10 хвилин …
116 shell  command  echo 

3
Як я можу виконувати локальний скрипт на віддаленій машині та включати аргументи?
Я написав сценарій, який добре працює, коли виконується локально: ./sysMole -time Aug 18 18 Аргументи "-time" , "Aug" , "18" та "18" успішно передаються до сценарію. Тепер цей сценарій розроблений для виконання на віддаленій машині, але з локального каталогу на локальній машині. Приклад: ssh root@remoteServer "bash -s" < /var/www/html/ops1/sysMole Це …

14
Як повторити останню команду без використання клавіш зі стрілками?
Я знаю, що можу використовувати Upітерацію за допомогою попередніх команд. Запуск останньої команди просто включає Up+ Enter. Однак я думав придбати клавіатуру Happy Hacking Keyboard, оскільки витрачаю багато часу vim. На цій клавіатурі немає клавіш зі стрілками, і єдиний спосіб, як я знаю, як отримати таку поведінку, - натискаючи Ctrl+ …

3
Передайте аргументи командного рядка до bash script
Я новачок у програмі скриптів для bash. Я хочу реалізувати bash-скрипт 'opensmLog', який приймає в якості введення один рядковий аргумент (ім'я). [root@localhost Desktop]# ./deploymLog.sh name тут я хочу передати рядковий аргумент (ім'я) через командний рядок В якості початкового кроку мені потрібно додати поточну позначку часу разом із цим вхідним рядком …
114 bash  shell  scripting 

11
Як я можу запустити команду cron із наявними змінними середовища?
Як я можу запустити команду cron із наявними змінними середовища? Якщо я знаходжуся в оболонці, я можу набрати echo $ORACLE_HOMEта отримати шлях. Це одна з моїх змінних довкілля, яка встановлюється в моєму ~/.profile. Однак здається, що ~/.profileне завантажуються сценарії fron cron, і тому мої сценарії виходять з ладу, оскільки $ORACLE_HOMEзмінна …


7
Перенаправлення stdout на файл, на який у вас немає дозволу на запис
При спробі змінити файл, не маючи на нього дозволу на запис, ви отримуєте помилку: > touch /tmp/foo && sudo chown root /tmp/foo > echo test > /tmp/foo zsh: permission denied: /tmp/foo Sudoing не допомагає, оскільки він виконує команду як root, але оболонка обробляє перенаправлення stdout та відкриває файл як завгодно: …

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