Comments (9)
I don't understand what you mean.
I understood what he meant.
from shellcheck.
Pretty niche feature ey?
There has been a number of requests like this where someone want to see one command or other get special treatment.
Maybe someone can propose a way to disable a rule given a certain command and let teams have that shellcheck setting in a shared repository to make their life easier or something.
from shellcheck.
systemd is standard, not niche.
Rules are already easy to disable, but there is no reason to ever disable this rule.
from shellcheck.
I think you understand what I mean, but for others:
systemd is not part of any shell internals and have it standout in front of other external programs it need a case. To me it lacks one really.
from shellcheck.
I don't understand what you mean.
There is no such thing as "shell internals", there are "shell builtins" and POSIX,
but the code and goals of ShellCheck do not limit themselves to any minimal set,
and explicitly encourage addressing "corner cases" even less likely to be hit than this.
from shellcheck.
Ok teacher. Present the PR and cross your fingers.
from shellcheck.
On my system, journalctl -u cron > /dev/null
takes 1 second while journalctl | grep cron > /dev/null
takes 48 seconds.
The log is mostly ssh bot traffic, and journalctl -u ssh > /dev/null
takes 63 seconds while journalctl | grep ssh > /dev/null
takes 51 seconds, which is a slight improvement but nowhere near 2 orders of magnitude.
Is this a known issue or something you discovered? It's expected that whichever command you try first will be orders of magnitude slower than the second due to disk caching, so does it hold up under repeated timing?
from shellcheck.
@koalaman It looks like there are at least 5 ways to get logs ranging from 139.021s to 0.050s.
cron and ssh are system services which journalctl optimizes, services that are not system (or journalctl is unsure of) like postfix* (or anything with a glob) are slow:
# time journalctl -u postfix* | grep -c .
47065
real 2m19.021s
# time journalctl | grep " postfix/" | grep -c .
47484
real 0m20.148s
# time journalctl --system -u postfix* | grep -c .
47065
real 0m7.845s
time journalctl -u [email protected] | grep -c .
47121
real 0m0.727s
# time cat /var/log/maillog* | grep -c " postfix/"
194559
real 0m0.050s
So it looks like glob is the worst offender that should be avoided or at least mitigated with --system.
from shellcheck.
Related Issues (20)
- Offer `system`-style `pre-commit` hook alongside the `docker` one
- Shellcheck throws an error and stops parsing on valid bash code when you open a file descriptor for a code block using an array index variable
- SC2062 with deliberate shell expression for portable tab HOT 1
- Suggested improvement for SC2006's "Did you mean" alternative message
- Question: Should ls -1 -b be acceptable for SC2012
- Feature request: disable directives in fles HOT 1
- SC2319 warns to assign $? to a var, IN an assignment to a var (0.10.0 broke, shellcheck.net not broken)
- New Rule: Executables must start with `#!/bin/bash` and a minimum number of flags.
- Shellchecks follows sourced files even if the file was already sourced
- Leading slashes in source .. directives are ignored by shellcheck
- Feature request: per-source `check-sourced` directive
- bug(?): SC2086 is not available on koalaman/shellcheck/wiki HOT 1
- SC2282 - variables starting with numbers aren't flagged as errors if done in arithmetic context
- commit 2024-04-04 14 da8854c: suggest to avoid trailing spaces in output
- aa HOT 1
- Bugs
- Recommend to unset associative array variable before declaration to avoid conversion
- SC2034 doesn't consider local function definitions to define new scopes
- Please separate the issue of unused functions from SC2317 (Command appears to be unreachable) HOT 11
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from shellcheck.