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

sh - це стандартна оболонка Unix з версії 7 Unix. POSIX має стандартизовану поведінку оболонки, засновану на оболонці Bourne, і портативні сценарії оболонки повинні відповідати стандартизованому синтаксису. Використовуйте цей тег для питань, що стосуються оболонок у стилі Bourne / POSIX. Для скриптів оболонки з помилками перевірте їх на http://shellcheck.net перед публікацією тут.

26
Як перевірити, чи містить рядок підрядку в Bash
У мене є рядок у Bash: string="My string" Як я можу перевірити, чи містить він інший рядок? if [ $string ?? 'foo' ]; then echo "It's there!" fi Де ??мій невідомий оператор. Я використовую ехо і grep? if echo "$string" | grep 'foo'; then echo "It's there!" fi Це виглядає …
2565 string  bash  shell  substring  sh 

12
Різниця між sh і bash
При написанні програм оболонок ми часто використовуємо /bin/shі /bin/bash. Я зазвичай використовую bash, але не знаю, в чому різниця між ними. У чому головна відмінність між bashі sh? Що ми повинні мати на увазі при програмуванні в bashі sh?
1303 bash  shell  unix  sh 

21
Як я можу оголосити і використовувати булеві змінні в сценарії оболонки?
Я спробував оголосити булеву змінну в сценарії оболонки, використовуючи наступний синтаксис: variable=$false variable=$true Це правильно? Крім того, якщо я хотів би оновити цю змінну, я використовував би той самий синтаксис? Нарешті, чи правильний наступний синтаксис використання булевих змінних як виразів? if [ $variable ] if [ !$variable ]
977 bash  shell  scripting  boolean  sh 

13
Як повторювати команди оболонки під час їх виконання
Як у скрипті оболонки я можу повторювати всі викликані команди оболонки та розширювати будь-які назви змінних? Наприклад, подано наступний рядок: ls $DIRNAME Я хотів би, щоб сценарій запускав команду і відображав наступне ls /full/path/to/some/dir Мета - збереження журналу всіх викликаних команд оболонок та їх аргументів. Чи може бути кращий спосіб …
910 bash  shell  sh  posix  trace 

7
Що означає набір -e в баш-скрипті?
Я вивчаю зміст цієї престінги файлу який виконує скрипт до того, як цей пакунок буде розпакований з його архіву Debian archive (.deb). Сценарій має такий код: #!/bin/bash set -e # Automatically added by dh_installinit if [ "$1" = install ]; then if [ -d /usr/share/MyApplicationName ]; then echo "MyApplicationName is …
713 linux  bash  shell  sh 

8
Як зробити логічну операцію АБО в сценарії оболонок
Я намагаюся зробити просту перевірку стану, але це, здається, не працює. Якщо $#дорівнює 0або більше, ніж 1привітатися. Я пробував наступний синтаксис без успіху: if [ "$#" == 0 -o "$#" > 1 ] ; then echo "hello" fi if [ "$#" == 0 ] || [ "$#" > 1 ] …
571 bash  unix  if-statement  sh 


5
Команда не знайдена помилка у призначенні змінної Bash
У мене цей сценарій називається test.sh: #!/bin/bash STR = "Hello World" echo $STR коли я біжу, sh test.shя отримую це: test.sh: line 2: STR: command not found Що я роблю неправильно? Я дивлюся на надзвичайно основні / початківці підручники з сценарію сценарію в Інтернеті, і ось, як вони кажуть, оголошувати …

6
Як прочитати файл у змінну в оболонці?
Я хочу прочитати файл і зберегти його у змінній, але мені потрібно зберегти змінну, а не просто роздрукувати файл. Як я можу це зробити? Я написав цей сценарій, але це не зовсім те, що мені потрібно: #!/bin/sh while read LINE do echo $LINE done <$1 echo 11111----------- echo $LINE У …
489 shell  unix  sh 

10
Як отримати пароль із скрипту оболонки без повтору
У мене є сценарій, який автоматизує процес, який потребує доступу до системи, захищеної паролем. Доступ до системи здійснюється за допомогою програми командного рядка, яка приймає пароль користувача як аргумент. Я хотів би запропонувати користувачеві ввести свій пароль, призначити його змінній оболонки, а потім використати цю змінну для побудови командного рядка …
424 bash  shell  scripting  sh 

22
Як виконувати команди mongo за допомогою скриптів оболонки?
Я хочу виконувати mongoкоманди в скрипті оболонки, наприклад у сценарії test.sh: #!/bin/sh mongo myDbName db.mycollection.findOne() show collections Коли я виконую цей скрипт через ./test.sh, тоді встановлюється з'єднання з MongoDB, але наступні команди не виконуються. Як виконати інші команди за допомогою скрипту оболонки test.sh?
403 mongodb  bash  shell  sh 

2
Як я можу розділити команду оболонки на кілька рядків при використанні оператора IF?
Як я можу розділити команду на кілька рядків оболонки, коли команда є частиною ifоператора? Це працює: if ! fab --fabfile=.deploy/fabfile.py --forward-agent --disable-known-hosts deploy:$target; then rc=1 fi Це не працює: # does not work: if ! fab --fabfile=.deploy/fabfile.py \ --forward-agent \ --disable-known-hosts deploy:$target; then rc=1 fi Замість виконання всієї команди я …
384 syntax  sh 

24
Як я можу отримати поведінку зчитування GNU -f на Mac?
У Linux readlinkутиліта приймає опцію, -fяка слідує за додатковими посиланнями. Схоже, це не працює на Mac та, можливо, на базі систем BSD. Який був би еквівалент? Ось деякі відомості про налагодження: $ which readlink; readlink -f /usr/bin/readlink readlink: illegal option -f usage: readlink [-n] [file ...]
377 macos  freebsd  sh 

11
Як я можу мати новий рядок у рядку в ш?
Це STR="Hello\nWorld" echo $STR виробляє як вихід Hello\nWorld замість Hello World Що мені робити, щоб мати рядок у рядку? Примітка. Це питання не стосується відлуння . Мені це відомо echo -e, але я шукаю рішення, яке дозволяє передавати рядок (що включає в себе новий рядок) як аргумент для інших команд, …
339 sh 

18
Як запустити роботу cron всередині контейнера docker?
Я намагаюся запустити cronjob всередині контейнера docker, який викликає сценарій оболонки. Вчора я шукав по всьому Інтернету і переповнював стеки, але не міг знайти рішення, яке працює. Як я можу це зробити? Редагувати: Я створив (прокоментував) сховище github з робочим контейнером cron-докера, який викликає скрипт оболонки через заданий інтервал.
275 docker  cron  containers  sh 

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