What is the logic behind how bash tests for true/false?What is the difference between : and true?What is the...
Could a US political party gain complete control over the government by removing checks & balances?
What is the meaning of "of trouble" in the following sentence?
I see my dog run
Email Account under attack (really) - anything I can do?
How to deal with fear of taking dependencies
Why do we use polarized capacitors?
Are objects structures and/or vice versa?
Need help identifying/translating a plaque in Tangier, Morocco
Prime joint compound before latex paint?
Does a dangling wire really electrocute me if I'm standing in water?
Why is the design of haulage companies so “special”?
What is the command to reset a PC without deleting any files
Symmetry in quantum mechanics
Patience, young "Padovan"
Pristine Bit Checking
Is it wise to hold on to stock that has plummeted and then stabilized?
What do the Banks children have against barley water?
"My colleague's body is amazing"
How to make payment on the internet without leaving a money trail?
If a centaur druid Wild Shapes into a Giant Elk, do their Charge features stack?
What is it called when one voice type sings a 'solo'?
Landlord wants to switch my lease to a "Land contract" to "get back at the city"
How can I add custom success page
What is GPS' 19 year rollover and does it present a cybersecurity issue?
What is the logic behind how bash tests for true/false?
What is the difference between : and true?What is the builtin `:` used for in Bash?bash script trap for exit and err and logic for differenceWhat is the rationale behind $array not expanding the whole array in ksh and bash?extract columns from TRUE/FALSE matrix based on proportion of TRUE values within the columnExpression evaluates to false in for loop whereas it's true in ifWhy does `source foo && true` exit the script in bash?for loop logic porting from bash to cshBash: how can I run `sudo -n true` in the background without interfering with `read`?What's the purpose of “true” in bash “if sudo true; then”
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty{ margin-bottom:0;
}
This:
$ echo $VAR
something
And this:
$ [[ -z "$VAR" ]]
$ echo $?
1
Yet this:
if [[ -z "$TMUX_MAN_PANE" ]]; then
echo 'NEVER PRINTS!'
This screws with my head.
UPDATE
Here's some real code. I can't get this to work.
tmux_man_page() {
if [[ "$TERM" =~ 'screen' ]] && [[ -n "$TMUX" ]]; then
tmux list-panes -t $TMUX_MAN_PANE &> /dev/null
echo $?
echo $TMUX_MAN_PANE
[[ -z "$TMUX_MAN_PANE" ]]
echo $?
if ! [[ -z "$TMUX_MAN_PANE" ]] && [[ $? ]]; then
echo luck
tmux -q respawn-pane -k -t $TMUX_MAN_PANE man $1
else
echo fuck
tmux split-window -vf man $1
TMUX_MAN_PANE=$(tmux display-message -p "#{pane_id}")
export TMUX_MAN_PANE
tmux select-pane -t {last}
fi
fi
}
UPDATE 2: Success
Finally figured it out. Was having problems getting the status of the first line in the if statement. Had to do some trickery to get the output of the tmux statement in the first line of the if statement. If anyone knows a cleaner way to do this, I'm all ears.
Here's the working code:
tmux_man_page() {
if [[ "$TERM" =~ 'screen' ]] && [[ -n "$TMUX" ]]; then
fucker=$(tmux list-panes -t $TMUX_MAN_PANE 2>&1)
if ! [[ -z "$TMUX_MAN_PANE" ]] && ! [[ $fucker =~ 'find pane' ]]; then
tmux -q respawn-pane -k -t $TMUX_MAN_PANE man $1
else
tmux split-window -vf man $1
TMUX_MAN_PANE=$(tmux display-message -p "#{pane_id}")
export TMUX_MAN_PANE
tmux select-pane -t {last}
fi
fi
}
tmux_man_page_close() {
if [ $TMUX_MAN_PANE ]; then
tmux kill-pane -t $TMUX_MAN_PANE
fi
}
bash
add a comment |
This:
$ echo $VAR
something
And this:
$ [[ -z "$VAR" ]]
$ echo $?
1
Yet this:
if [[ -z "$TMUX_MAN_PANE" ]]; then
echo 'NEVER PRINTS!'
This screws with my head.
UPDATE
Here's some real code. I can't get this to work.
tmux_man_page() {
if [[ "$TERM" =~ 'screen' ]] && [[ -n "$TMUX" ]]; then
tmux list-panes -t $TMUX_MAN_PANE &> /dev/null
echo $?
echo $TMUX_MAN_PANE
[[ -z "$TMUX_MAN_PANE" ]]
echo $?
if ! [[ -z "$TMUX_MAN_PANE" ]] && [[ $? ]]; then
echo luck
tmux -q respawn-pane -k -t $TMUX_MAN_PANE man $1
else
echo fuck
tmux split-window -vf man $1
TMUX_MAN_PANE=$(tmux display-message -p "#{pane_id}")
export TMUX_MAN_PANE
tmux select-pane -t {last}
fi
fi
}
UPDATE 2: Success
Finally figured it out. Was having problems getting the status of the first line in the if statement. Had to do some trickery to get the output of the tmux statement in the first line of the if statement. If anyone knows a cleaner way to do this, I'm all ears.
Here's the working code:
tmux_man_page() {
if [[ "$TERM" =~ 'screen' ]] && [[ -n "$TMUX" ]]; then
fucker=$(tmux list-panes -t $TMUX_MAN_PANE 2>&1)
if ! [[ -z "$TMUX_MAN_PANE" ]] && ! [[ $fucker =~ 'find pane' ]]; then
tmux -q respawn-pane -k -t $TMUX_MAN_PANE man $1
else
tmux split-window -vf man $1
TMUX_MAN_PANE=$(tmux display-message -p "#{pane_id}")
export TMUX_MAN_PANE
tmux select-pane -t {last}
fi
fi
}
tmux_man_page_close() {
if [ $TMUX_MAN_PANE ]; then
tmux kill-pane -t $TMUX_MAN_PANE
fi
}
bash
2
Your update does not include enough information. Please (a) include the values ofTERM
,TMUX
, andTMUX_MAN_PANE
from before the function runs and (b) include the output of the function and then (c) explain how that output differs from what you expect.
– John1024
yesterday
It's all a mess. In the first line of the if statement, I just want to know if that command is throwing an error. There is no seemingly rational way to do that. I don't want the output from the command, I want to know if it's throwing an error. That's it.
– StevieD
yesterday
It's showing the command was a success even though it can't find the pane. I see no way to extract the output from that tmux command.
– StevieD
yesterday
I should just be going this in perl. Fuck this crazy shit.
– StevieD
yesterday
Jesus, finally figured it out. Posting solution.
– StevieD
yesterday
add a comment |
This:
$ echo $VAR
something
And this:
$ [[ -z "$VAR" ]]
$ echo $?
1
Yet this:
if [[ -z "$TMUX_MAN_PANE" ]]; then
echo 'NEVER PRINTS!'
This screws with my head.
UPDATE
Here's some real code. I can't get this to work.
tmux_man_page() {
if [[ "$TERM" =~ 'screen' ]] && [[ -n "$TMUX" ]]; then
tmux list-panes -t $TMUX_MAN_PANE &> /dev/null
echo $?
echo $TMUX_MAN_PANE
[[ -z "$TMUX_MAN_PANE" ]]
echo $?
if ! [[ -z "$TMUX_MAN_PANE" ]] && [[ $? ]]; then
echo luck
tmux -q respawn-pane -k -t $TMUX_MAN_PANE man $1
else
echo fuck
tmux split-window -vf man $1
TMUX_MAN_PANE=$(tmux display-message -p "#{pane_id}")
export TMUX_MAN_PANE
tmux select-pane -t {last}
fi
fi
}
UPDATE 2: Success
Finally figured it out. Was having problems getting the status of the first line in the if statement. Had to do some trickery to get the output of the tmux statement in the first line of the if statement. If anyone knows a cleaner way to do this, I'm all ears.
Here's the working code:
tmux_man_page() {
if [[ "$TERM" =~ 'screen' ]] && [[ -n "$TMUX" ]]; then
fucker=$(tmux list-panes -t $TMUX_MAN_PANE 2>&1)
if ! [[ -z "$TMUX_MAN_PANE" ]] && ! [[ $fucker =~ 'find pane' ]]; then
tmux -q respawn-pane -k -t $TMUX_MAN_PANE man $1
else
tmux split-window -vf man $1
TMUX_MAN_PANE=$(tmux display-message -p "#{pane_id}")
export TMUX_MAN_PANE
tmux select-pane -t {last}
fi
fi
}
tmux_man_page_close() {
if [ $TMUX_MAN_PANE ]; then
tmux kill-pane -t $TMUX_MAN_PANE
fi
}
bash
This:
$ echo $VAR
something
And this:
$ [[ -z "$VAR" ]]
$ echo $?
1
Yet this:
if [[ -z "$TMUX_MAN_PANE" ]]; then
echo 'NEVER PRINTS!'
This screws with my head.
UPDATE
Here's some real code. I can't get this to work.
tmux_man_page() {
if [[ "$TERM" =~ 'screen' ]] && [[ -n "$TMUX" ]]; then
tmux list-panes -t $TMUX_MAN_PANE &> /dev/null
echo $?
echo $TMUX_MAN_PANE
[[ -z "$TMUX_MAN_PANE" ]]
echo $?
if ! [[ -z "$TMUX_MAN_PANE" ]] && [[ $? ]]; then
echo luck
tmux -q respawn-pane -k -t $TMUX_MAN_PANE man $1
else
echo fuck
tmux split-window -vf man $1
TMUX_MAN_PANE=$(tmux display-message -p "#{pane_id}")
export TMUX_MAN_PANE
tmux select-pane -t {last}
fi
fi
}
UPDATE 2: Success
Finally figured it out. Was having problems getting the status of the first line in the if statement. Had to do some trickery to get the output of the tmux statement in the first line of the if statement. If anyone knows a cleaner way to do this, I'm all ears.
Here's the working code:
tmux_man_page() {
if [[ "$TERM" =~ 'screen' ]] && [[ -n "$TMUX" ]]; then
fucker=$(tmux list-panes -t $TMUX_MAN_PANE 2>&1)
if ! [[ -z "$TMUX_MAN_PANE" ]] && ! [[ $fucker =~ 'find pane' ]]; then
tmux -q respawn-pane -k -t $TMUX_MAN_PANE man $1
else
tmux split-window -vf man $1
TMUX_MAN_PANE=$(tmux display-message -p "#{pane_id}")
export TMUX_MAN_PANE
tmux select-pane -t {last}
fi
fi
}
tmux_man_page_close() {
if [ $TMUX_MAN_PANE ]; then
tmux kill-pane -t $TMUX_MAN_PANE
fi
}
bash
bash
edited yesterday
Rui F Ribeiro
42k1483142
42k1483142
asked yesterday
StevieDStevieD
1759
1759
2
Your update does not include enough information. Please (a) include the values ofTERM
,TMUX
, andTMUX_MAN_PANE
from before the function runs and (b) include the output of the function and then (c) explain how that output differs from what you expect.
– John1024
yesterday
It's all a mess. In the first line of the if statement, I just want to know if that command is throwing an error. There is no seemingly rational way to do that. I don't want the output from the command, I want to know if it's throwing an error. That's it.
– StevieD
yesterday
It's showing the command was a success even though it can't find the pane. I see no way to extract the output from that tmux command.
– StevieD
yesterday
I should just be going this in perl. Fuck this crazy shit.
– StevieD
yesterday
Jesus, finally figured it out. Posting solution.
– StevieD
yesterday
add a comment |
2
Your update does not include enough information. Please (a) include the values ofTERM
,TMUX
, andTMUX_MAN_PANE
from before the function runs and (b) include the output of the function and then (c) explain how that output differs from what you expect.
– John1024
yesterday
It's all a mess. In the first line of the if statement, I just want to know if that command is throwing an error. There is no seemingly rational way to do that. I don't want the output from the command, I want to know if it's throwing an error. That's it.
– StevieD
yesterday
It's showing the command was a success even though it can't find the pane. I see no way to extract the output from that tmux command.
– StevieD
yesterday
I should just be going this in perl. Fuck this crazy shit.
– StevieD
yesterday
Jesus, finally figured it out. Posting solution.
– StevieD
yesterday
2
2
Your update does not include enough information. Please (a) include the values of
TERM
, TMUX
, and TMUX_MAN_PANE
from before the function runs and (b) include the output of the function and then (c) explain how that output differs from what you expect.– John1024
yesterday
Your update does not include enough information. Please (a) include the values of
TERM
, TMUX
, and TMUX_MAN_PANE
from before the function runs and (b) include the output of the function and then (c) explain how that output differs from what you expect.– John1024
yesterday
It's all a mess. In the first line of the if statement, I just want to know if that command is throwing an error. There is no seemingly rational way to do that. I don't want the output from the command, I want to know if it's throwing an error. That's it.
– StevieD
yesterday
It's all a mess. In the first line of the if statement, I just want to know if that command is throwing an error. There is no seemingly rational way to do that. I don't want the output from the command, I want to know if it's throwing an error. That's it.
– StevieD
yesterday
It's showing the command was a success even though it can't find the pane. I see no way to extract the output from that tmux command.
– StevieD
yesterday
It's showing the command was a success even though it can't find the pane. I see no way to extract the output from that tmux command.
– StevieD
yesterday
I should just be going this in perl. Fuck this crazy shit.
– StevieD
yesterday
I should just be going this in perl. Fuck this crazy shit.
– StevieD
yesterday
Jesus, finally figured it out. Posting solution.
– StevieD
yesterday
Jesus, finally figured it out. Posting solution.
– StevieD
yesterday
add a comment |
1 Answer
1
active
oldest
votes
The key is that 0
means true and 1
(or any other non-zero value) means false.
In shell, a test that is true (or a program which completes successfully), exits with code 0. The test [[ -z "$VAR" ]]
returns code zero (true) if $VAR
is empty or one (false) if it is not empty:
$ var=""; [[ -z "$var" ]]; echo $?
0
$ var="NOT EMPTY"; [[ -z "$var" ]]; echo $?
1
In sum, if $VAR
is non-empty, then [[ -z "$VAR" ]]
is false (returns 1
) and the then
statement does not execute.
Did you intend for the test to return true if the variable was non-empty? If so, replace -z
with -n
:
$ var=""; [[ -n "$var" ]]; echo $?
1
$ var="NOT EMPTY"; [[ -n "$var" ]]; echo $?
0
For brevity, the same test is performed if -n
is omitted:
$ var=""; [[ "$var" ]]; echo $?
1
$ var="NOT EMPTY"; [[ "$var" ]]; echo $?
0
I just posted my real code. I cannot, for the life of me, get that to work. I'm literally going fucking nuts.
– StevieD
yesterday
1
@StevieD Runset -x
and then run your code. This will show you how every step is evaluated.
– John1024
yesterday
Ah, shit. Forgot about that setting. I'll try it.
– StevieD
yesterday
add a comment |
Your Answer
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "106"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f511129%2fwhat-is-the-logic-behind-how-bash-tests-for-true-false%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
The key is that 0
means true and 1
(or any other non-zero value) means false.
In shell, a test that is true (or a program which completes successfully), exits with code 0. The test [[ -z "$VAR" ]]
returns code zero (true) if $VAR
is empty or one (false) if it is not empty:
$ var=""; [[ -z "$var" ]]; echo $?
0
$ var="NOT EMPTY"; [[ -z "$var" ]]; echo $?
1
In sum, if $VAR
is non-empty, then [[ -z "$VAR" ]]
is false (returns 1
) and the then
statement does not execute.
Did you intend for the test to return true if the variable was non-empty? If so, replace -z
with -n
:
$ var=""; [[ -n "$var" ]]; echo $?
1
$ var="NOT EMPTY"; [[ -n "$var" ]]; echo $?
0
For brevity, the same test is performed if -n
is omitted:
$ var=""; [[ "$var" ]]; echo $?
1
$ var="NOT EMPTY"; [[ "$var" ]]; echo $?
0
I just posted my real code. I cannot, for the life of me, get that to work. I'm literally going fucking nuts.
– StevieD
yesterday
1
@StevieD Runset -x
and then run your code. This will show you how every step is evaluated.
– John1024
yesterday
Ah, shit. Forgot about that setting. I'll try it.
– StevieD
yesterday
add a comment |
The key is that 0
means true and 1
(or any other non-zero value) means false.
In shell, a test that is true (or a program which completes successfully), exits with code 0. The test [[ -z "$VAR" ]]
returns code zero (true) if $VAR
is empty or one (false) if it is not empty:
$ var=""; [[ -z "$var" ]]; echo $?
0
$ var="NOT EMPTY"; [[ -z "$var" ]]; echo $?
1
In sum, if $VAR
is non-empty, then [[ -z "$VAR" ]]
is false (returns 1
) and the then
statement does not execute.
Did you intend for the test to return true if the variable was non-empty? If so, replace -z
with -n
:
$ var=""; [[ -n "$var" ]]; echo $?
1
$ var="NOT EMPTY"; [[ -n "$var" ]]; echo $?
0
For brevity, the same test is performed if -n
is omitted:
$ var=""; [[ "$var" ]]; echo $?
1
$ var="NOT EMPTY"; [[ "$var" ]]; echo $?
0
I just posted my real code. I cannot, for the life of me, get that to work. I'm literally going fucking nuts.
– StevieD
yesterday
1
@StevieD Runset -x
and then run your code. This will show you how every step is evaluated.
– John1024
yesterday
Ah, shit. Forgot about that setting. I'll try it.
– StevieD
yesterday
add a comment |
The key is that 0
means true and 1
(or any other non-zero value) means false.
In shell, a test that is true (or a program which completes successfully), exits with code 0. The test [[ -z "$VAR" ]]
returns code zero (true) if $VAR
is empty or one (false) if it is not empty:
$ var=""; [[ -z "$var" ]]; echo $?
0
$ var="NOT EMPTY"; [[ -z "$var" ]]; echo $?
1
In sum, if $VAR
is non-empty, then [[ -z "$VAR" ]]
is false (returns 1
) and the then
statement does not execute.
Did you intend for the test to return true if the variable was non-empty? If so, replace -z
with -n
:
$ var=""; [[ -n "$var" ]]; echo $?
1
$ var="NOT EMPTY"; [[ -n "$var" ]]; echo $?
0
For brevity, the same test is performed if -n
is omitted:
$ var=""; [[ "$var" ]]; echo $?
1
$ var="NOT EMPTY"; [[ "$var" ]]; echo $?
0
The key is that 0
means true and 1
(or any other non-zero value) means false.
In shell, a test that is true (or a program which completes successfully), exits with code 0. The test [[ -z "$VAR" ]]
returns code zero (true) if $VAR
is empty or one (false) if it is not empty:
$ var=""; [[ -z "$var" ]]; echo $?
0
$ var="NOT EMPTY"; [[ -z "$var" ]]; echo $?
1
In sum, if $VAR
is non-empty, then [[ -z "$VAR" ]]
is false (returns 1
) and the then
statement does not execute.
Did you intend for the test to return true if the variable was non-empty? If so, replace -z
with -n
:
$ var=""; [[ -n "$var" ]]; echo $?
1
$ var="NOT EMPTY"; [[ -n "$var" ]]; echo $?
0
For brevity, the same test is performed if -n
is omitted:
$ var=""; [[ "$var" ]]; echo $?
1
$ var="NOT EMPTY"; [[ "$var" ]]; echo $?
0
edited yesterday
answered yesterday
John1024John1024
48.5k5113128
48.5k5113128
I just posted my real code. I cannot, for the life of me, get that to work. I'm literally going fucking nuts.
– StevieD
yesterday
1
@StevieD Runset -x
and then run your code. This will show you how every step is evaluated.
– John1024
yesterday
Ah, shit. Forgot about that setting. I'll try it.
– StevieD
yesterday
add a comment |
I just posted my real code. I cannot, for the life of me, get that to work. I'm literally going fucking nuts.
– StevieD
yesterday
1
@StevieD Runset -x
and then run your code. This will show you how every step is evaluated.
– John1024
yesterday
Ah, shit. Forgot about that setting. I'll try it.
– StevieD
yesterday
I just posted my real code. I cannot, for the life of me, get that to work. I'm literally going fucking nuts.
– StevieD
yesterday
I just posted my real code. I cannot, for the life of me, get that to work. I'm literally going fucking nuts.
– StevieD
yesterday
1
1
@StevieD Run
set -x
and then run your code. This will show you how every step is evaluated.– John1024
yesterday
@StevieD Run
set -x
and then run your code. This will show you how every step is evaluated.– John1024
yesterday
Ah, shit. Forgot about that setting. I'll try it.
– StevieD
yesterday
Ah, shit. Forgot about that setting. I'll try it.
– StevieD
yesterday
add a comment |
Thanks for contributing an answer to Unix & Linux Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2funix.stackexchange.com%2fquestions%2f511129%2fwhat-is-the-logic-behind-how-bash-tests-for-true-false%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
2
Your update does not include enough information. Please (a) include the values of
TERM
,TMUX
, andTMUX_MAN_PANE
from before the function runs and (b) include the output of the function and then (c) explain how that output differs from what you expect.– John1024
yesterday
It's all a mess. In the first line of the if statement, I just want to know if that command is throwing an error. There is no seemingly rational way to do that. I don't want the output from the command, I want to know if it's throwing an error. That's it.
– StevieD
yesterday
It's showing the command was a success even though it can't find the pane. I see no way to extract the output from that tmux command.
– StevieD
yesterday
I should just be going this in perl. Fuck this crazy shit.
– StevieD
yesterday
Jesus, finally figured it out. Posting solution.
– StevieD
yesterday