Вопросы с тегом «shell»

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

1
Повысить точность% e с помощью команды оболочки / usr / bin / time
Когда я запускаю команду времени в оболочке, time ./myappя получаю вывод, подобный следующему: real 0m0.668s user 0m0.112s sys 0m0.028s Однако, когда я запускаю команду, \time -f %e ./myappя теряю точность и получаю: 2.01s Если я использую %Eкоманду, я также теряю точность таким же образом. Как мне изменить его, чтобы он …
19 shell  scripting  time 

5
Как я могу определить, что с getopts не было передано ни одной опции?
У меня есть этот код - #getoptDemo.sh usage() { echo "usage: <command> options:<w|l|h>" } while getopts wlh: option do case $option in (w) name='1';; (l) name='2';; (h) name='3';; (*) usage exit;; esac done print 'hi'$name Когда я запускаю bash getoptDemos.sh(без опции) он печатает hiвместо вызова функции usage. Он вызывает использование, …
19 bash  shell  options  getopts 

4
Запуск chsh не меняет оболочку
Я хочу сменить оболочку с bash на zsh. Я попытался запустить следующее во время входа в систему как пользователь zol: $ chsh -s /bin/zsh $ sudo chsh -s /bin/zsh zol $ su -c 'chsh -s /bin/zsh zol' # The above all results with: $ password: $ chsh: Shell not changed. …
19 shell  zsh  users 

2
-Q определенно отключает ведение журнала wget?
В настоящее время у меня есть скрипт оболочки, работающий на сервере Linux, который использует wget в oder для загрузки удаленной веб-страницы. Это, в свою очередь, выполняется заданием cron, которое планируется запустить в определенное время. Может ли кто-нибудь подтвердить, что добавление этой -qопции не только остановит возврат всей информации на консоль, …
19 linux  shell  wget 


2
Каково значение одинарных и двойных кавычек в переменных среды?
Я определил некоторые переменные окружения в моем .profile следующим образом: MY_HOME="/home/my_user" но переменная, похоже, не оценивается, если я не скину кавычки и не получу файл заново. Я полагаю, что кавычки необходимы, если будут пробелы, и одинарные кавычки используются, если экранирование нежелательно. Может ли кто-то прояснить значение одинарных и двойных кавычек …

6
найти максимальное значение столбца 1 и распечатать соответствующую запись из столбца 2 из файла
Как найти максимальное значение из столбца 1 и отобразить соответствующее местоположение пути из файла, который содержит n записей. $ cat version.log 112030 /opt/oracle/app/oracle/product/11.2.0 121010 /opt/oracle/app/oracle/product/12.1.0 Ожидаемый результат: /opt/oracle/app/oracle/product/12.1.0

2
Скрипт оболочки выдает ошибку not found при запуске из файла sh. Но если введенные вручную команды работают
Я пытаюсь использовать следующий скрипт для создания карты сайта для моего сайта. Когда я запускаю его, sh thsitemap.shя получаю такую ​​ошибку и создаю пустой файл sitemap.xml: thsitemap.sh: 22: thsitemap.sh: [[: not found thsitemap.sh: 42: thsitemap.sh: [[: not found thsitemap.sh: 50: thsitemap.sh: Syntax error: "(" unexpected Но как тот же пользователь, …


3
Как мне создать новый пустой файл в скрипте bash?
Я запускаю какой-нибудь сторонний скрипт на Perl, написанный так, что для выходного флага требуется выходной файл -o. К сожалению, для сценария требуется фактический файл, то есть пользователи должны создать пустой файл filename.txtс 0 байтами, а затем ввести этот пустой файл в командной строке сценария. perl script1.pl -o filename.txt Вопрос: Как …

3
Доступ к переменной индекса массива из цикла сценария bash?
Я хочу получить доступ к переменной индекса массива во время цикла по массиву в моем сценарии оболочки bash. myscript.sh #!/bin/bash AR=('foo' 'bar' 'baz' 'bat') for i in ${AR[*]}; do echo $i done Результат приведенного выше сценария: foo bar baz bat Результат, который я ищу: 0 1 2 3 Как мне …

1
Почему $ {$ #} возвращает тот же результат, что и $$ в оболочке?
Пытаясь получить последний набор позиционных параметров /bin/dash, я пытался echo ${$#}. Удивительно, но это привело не к ошибке, а к PID, который совпадает с $$содержимым переменной. Вопрос, почему этот синтаксис работает? Какое синтаксическое правило применяется к этой оболочке? В основном то, что я сделал, это $ set 1 2 3 …
18 shell  variable 


4
«Запустите любую команду, которая передаст ненадежные данные командам, которые интерпретируют аргументы как команды»
Из руководства по findutils: Например, такие конструкции, как эти две команды # risky find -exec sh -c "something {}" \; find -execdir sh -c "something {}" \; очень опасны Причина этого заключается в том, что символ {{} расширяется до имени файла, которое может содержать точку с запятой или другие символы, …
18 shell 

1
bash меняет свое поведение в зависимости от значения переменной «IFS»
Когда я устанавливаю IFSпеременную в пробел, bashобрабатывает несколько пробелов как один пробел ( myprogramэто программа, которая печатает полученные аргументы командной строки): IFS=" " x="hello hi world" ./myprogram $x argv[1] = hello argv[2] = hi argv[3] = world Но когда я устанавливаю IFSпеременную на запятую, bashнесколько запятых не обрабатываются как одна …
18 bash  shell 

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.